Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
493
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PHP Introduction Mohamed Ashraf
  • 2. PHP Hypertext Preprocessor
    • No joke, that’s what it stands for
    • Now very widely used for websites
    • Only three years ago it was considered a risky alternative for development
    • Has a lot of community support
  • 3. Simple PHP
    • PHP is meant to be invoked inline with content
    • Page “escapes” into and out of a regular html document
    • File extension is .php (was .php3 for version 3)‏
    • Initial use was control flow and simple scripting
  • 4. A quick example
    • <html>
    • <head>Test page</head>
    • <body>
    • The time is now
    • <?php
    • echo date();
    • ?>
    • <hr>
    • </body>
    • </html>
  • 5. A quick example
    • <html>
    • <head>Test page</head>
    • <body>
    • The time is now
    • <?php here we “jump into” php
    • echo date();
    • ?> here we “jump” back out
    • <hr>
    • </body>
    • </html>
  • 6. Another example
    • <?php
    • include “utilities.php”;
    • ?>
    • <html>
    • <head>Test page</head>
    • <body>
    • <?php
    • if ($utils->isFriendly()) {
    • echo “The time is now “ . date();
    • } else {
    • echo “I will not give you the time of day”;
    • }
    • ?>
    • <hr>
    • </body>
    • </html>
  • 7. Another example – harder to read
    • <?php
    • include “utilities.php”;
    • ?>
    • <html>
    • <head>Test page</head>
    • <body>
    • <?php
    • if ($utils->isFriendly()) {
    • echo “The time is now “ . date();
    • } else {
    • ?>
    • <i>I will not give you the time of day!</i>
    • <?php
    • }
    • ?>
    • <hr>
    • </body>
    • </html>
  • 8. More PHP language details
    • Variables are implicitly typed
      • This is good
      • This is bad
    • Variables start with $
    • All get/post variables automatically defined
      • With most default server settings
      • With an inline directive if need be
  • 9. Defined variable example
    • foo.html:
    • <html><head></head><body>
    • <form submit=“getFoo.php”>
    • Enter your name:
    • <input type=“text” name=“username”>
    • <input type=“submit”>
    • </body></html>
    • getFoo.php:
    • <html><head></head></body>
    • Your name is
    • <?php
    • if (!strcmp($username)) {
    • echo $username;
    • } else {
    • echo “not given”;
    • }
    • ?>
    • !<br>
    • </body></html>
  • 10. Function list examples
    • http://www.php.net/manual/en/function.strlen.php
      • All string functions
      • Some are “obvious” to c programmers
        • strlen, printf, fprintf, strpos
      • Some are web tailored
        • htmlentities, htmlspecialchars
      • Others are new (hacky)‏
        • addcslashes, explode, soundex, quotemeta, …
  • 11. Classes
    • OOP
      • Class structures will be defined, helping integration with other apps and work together
      • APIs followed by implementation
    • Inheritance
    • Object serialization
      • “ Magic functions”
  • 12. Class example
    • class Cart
    • {
    • var $items; // Items in our shopping cart
    • // Add $num articles of $artnr to the cart
    • function add_item ($artnr, $num)‏
    • {
    • $this->items[$artnr] += $num;
    • }
    • // Take $num articles of $artnr out of the cart
    • function remove_item ($artnr, $num)‏
    • {
    • if ($this->items[$artnr] > $num) {
    • $this->items[$artnr] -= $num;
    • return true;
    • } else {
    • return false;
    • }
    • }
    • }
  • 13. Inheritance example
    • Class ParentObject {    var $value;   function ParentObject() {        $this->value = 42;   } } class MemberObject extends ParentObject {    var $string;    function MemberObject() {       $this->string = &quot;This is a test string.&quot;; $this->ParentObject();   } } class ObjTest {    var $ObjPointer;   function ObjTest() {        $tmp = new MemberObject; $this->ObjPointer = $tmp;   } } $object = new ObjTest; echo &quot;String Contents: &quot; . $object->ObjPointer->string . &quot; &quot;; echo &quot;Value  Contents: &quot; . $object->ObjPointer->value . &quot; &quot;;
  • 14. Back to being hacky…
    • “ ->” is NOT the same thing as it is in c++
      • No pointers in PHP
      • ONLY a member operator
    • Oh, you wanted pointers?
      • Variable variables
        • Yeah, you heard right
          • Don’t get me started…
  • 15. Variable variables and classes example
    • class a { var $b; } $object = new a; $object->b = &quot;hello&quot;; $member_name = 'b'; echo $object->$member_name; $object->$member_name = &quot; world&quot;; echo $object->$member_name;
  • 16. Resources
    • http://www.php.net
    • http://www.w3schools.com