#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
PHP for hacks
1. PHP for hacks
Tom Praison
tpraison@yahoo-inc.com
IIT-Delhi 16-Aug-2012
2. Sample Codes
• The sample code is available for download
https://github.com/tompraison/php_sample
3. What we need to learn?
• Enough PHP to handle simple request
• How to talk to backend data store using PHP
• How to parse XML/JSON in PHP
• How to generate JSON in PHP
4. What is PHP?
• Server side language
• Very easy to learn
• Available on LAMP stack (Linux Apache Mysql
PHP)
• Does not require any special tools. Create a file
with .php extension and your done.
6. Getting Started
• You need a local server with PHP enabled.
• XAMPP for windows
• MAMP for Mac OSx
• Linux has it by default
7. Getting Started
Create a file hello.php into htdocs and call it like this
http://localhost:8888/hello.php
<?php
$school="iit-delhi";
echo "Hello, World $school";
?>
8. Basic Syntax
• PHP blocks start with <?php and end with ?> -
• Every line of PHP has to end with a semicolon
";”
• Variables in PHP start with a $
• You print out content to the document in PHP
with the echo command.
• $school is variable and it can be printed out
• You can jump in and out of PHP anywhere in the
document. So if you intersperse PHP with HTML
blocks, that is totally fine. For example:
9. Mix Match
• You can mix and match HTML and PHP
<?php
$origin = 'Outer Space';
$planet = 'Earth';
$plan = 9;
$sceneryType = "awful";
?>
<h1>Synopsis</h1><p>It was a peaceful time on
planet <?php echo $planet;?> and people in the
<?php echo $sceneryType;?> scenery were
unaware of the diabolic plan <?php echo
$plan;?> from <?php echo $origin;?> that will
take their senses to the edge of what can be
endured.</p>
demo1.php
10. Displaying more complex data
• You can define arrays in PHP using the array()
method
$lampstack = array('Linux','Apache','MySQL','PHP');
• If you simply want to display a complex
datatype like this in PHP for debugging you can
use the print_r() command
$lampstack = array('Linux','Apache','MySQL','PHP');
print_r($lampstack);
demo2.php
15. Interacting with the web - URL
parameters
<?php
$name = 'Tom';
// if there is no language defined, switch to English
if( !isset($_GET['language']) ){
$welcome = 'Oh, hello there, ';
}
if( $_GET['language'] == 'hindi' ){
$welcome = 'Namastae, ';
}
switch($_GET['font']){
case 'small':
$size = 80;
break;
case 'medium':
$size = 100;
break;
case 'large':
$size = 120;
break;
default:
$size = 100;
break;
}
echo '<style>body{font-size:' . $size . '%;}</style>';
echo '<h1>'.$welcome.$name.'</h1>';
?>
demo7.php
16. Loading content from the web
<?php
// define the URL to load
$url = 'http://cricket.yahoo.com/player-profile/Sachin-
Tendulkar_2962';
// start cURL
$ch = curl_init();
// tell cURL what the URL is
curl_setopt($ch, CURLOPT_URL, $url);
// tell cURL that you want the data back from that URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// run cURL
$output = curl_exec($ch);
// end the cURL call (this also cleans up memory so it is
// important)
curl_close($ch);
// display the output
echo $output;
?>
demo8.php
17. Displaying XML content
• Demo – Showing Twitter trends given a place
– Displaying XML Content
– Displaying JSON
demo9.php
18. Connecting to MySQL
• Demo10.php from source code
• Simple example to fetch data from DB
19. Further Reference
http://www.php.net/
http://developer.yahoo.com
http://isithackday.com/hackday-
toolbox/phpforhacks/index.html
http://www.slideshare.net/tompraison
https://github.com/tompraison/php_sample