Php hacku

734 views

Published on

PHP for hacks

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
734
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Php hacku

  1. 1. PHP for hacks Tom Praison (tpraison@yahoo-inc.com)
  2. 2. 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.
  3. 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. 4. Getting Started• You need a local server with PHP enabled.• XAMPP for windows• MAMP for Mac OSx• Linux has it by default
  5. 5. Getting StartedCreate a file hello.php into htdocs and call it like thishttp://localhost:8888/hello.php <?php $school="iit-kgp"; echo "Hello, World $school"; ?>
  6. 6. • 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:
  7. 7. Mix Match<?php $origin = Outer Space; $planet = Earth; $plan = 9; $sceneryType = "awful";?><h1>Synopsis</h1><p>It was a peaceful time onplanet <?php echo $planet;?> and people in the<?php echo $sceneryType;?> scenery wereunaware of the diabolic plan <?php echo$plan;?> from <?php echo $origin;?> that willtake their senses to the edge of what can beendured.</p> demo1.php
  8. 8. 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
  9. 9. Arrays<ul><?php$lampstack = array(Linux,Apache,MySQL,PHP);echo <li>Operating System:.$lampstack[0] . </li>;echo <li>Server: . $lampstack[1] . </li>;echo <li>Database: . $lampstack[2] . </li>;echo <li>Language: . $lampstack[3] . </li>;?></ul> demo3.php
  10. 10. Arrays<ul><?php$lampstack = array(Linux,Apache,MySQL,PHP);$labels = array(OperatingSystem,Server,Database,Language);$length = sizeof($lampstack);for( $i = 0;$i < $length;$i++ ){ echo <li> . $labels[$i] . : . $lampstack[$i] . </li>;}?></ul> sizeof($array) - this will return the size of the array demo4.php
  11. 11. Associative Arrays<ul><?php$lampstack = array( Operating System => Linux, Server => Apache, Database => MySQL, Language => PHP);$length = sizeof($lampstack);$keys = array_keys($lampstack);for( $i = 0;$i < $length;$i++ ){ echo <li> . $keys[$i] . : . $lampstack[$keys[$i]] . </li>;}?></ul> demo5.php
  12. 12. Functions<?phpfunction renderList($array){ if( sizeof($array) > 0 ){ echo <ul>;foreach( $array as $key => $item ){ echo <li> . $key . : . $item . </li>; } echo </ul>; }}$lampstack = array( Operating System => Linux, Server => Apache, Database => MySQL, Language => PHP);renderList($lampstack);?> demo6.php
  13. 13. Interacting with the web - URL parameters<?php$name = Tom;// if there is no language defined, switch to Englishif( !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
  14. 14. 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 iscurl_setopt($ch, CURLOPT_URL, $url); // tell cURL that you want the data back from that URLcurl_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
  15. 15. Displaying XML content• Demodemo9.php
  16. 16. Displaying JSON content• Demodemo9.php
  17. 17. Putting all together
  18. 18. Further Reference http://www.php.net/ http://developer.yahoo.com http://isithackday.com/hackday- toolbox/phpforhacks/index.htmlhttp://www.slideshare.net/tompraison

×