diff options
Diffstat (limited to 'php.html.markdown')
| -rw-r--r-- | php.html.markdown | 51 | 
1 files changed, 39 insertions, 12 deletions
| diff --git a/php.html.markdown b/php.html.markdown index ce178a15..f247ba77 100644 --- a/php.html.markdown +++ b/php.html.markdown @@ -88,6 +88,8 @@ $escaped   = "This contains a \t tab character.";  $unescaped = 'This just contains a slash and a t: \t';  // Enclose a variable in curly braces if needed +$apples = "I have {$number} apples to eat."; +$oranges = "I have ${number} oranges to eat.";  $money = "I have $${number} in the bank.";  // Since PHP 5.3, nowdocs can be used for uninterpolated multi-liners @@ -142,6 +144,9 @@ $associative = ['One' => 1, 'Two' => 2, 'Three' => 3];  echo $associative['One']; // prints 1 +// Add an element to an associative array +$associative['Four'] = 4; +  // List literals implicitly assign integer keys  $array = ['One', 'Two', 'Three'];  echo $array[0]; // => "One" @@ -278,7 +283,7 @@ if (false) {  if (false) {      print 'Does not get printed'; -} elseif(true) { +} elseif (true) {      print 'Does';  } @@ -300,7 +305,7 @@ echo $b ?? 'b is not set'; // prints 'Does print'  $x = 0;  if ($x === '0') {      print 'Does not print'; -} elseif($x == '1') { +} elseif ($x == '1') {      print 'Does not print';  } else {      print 'Does print'; @@ -337,7 +342,7 @@ switch ($x) {  $i = 0;  while ($i < 5) {      echo $i++; -}; // Prints "01234" +} // Prints "01234"  echo "\n"; @@ -462,7 +467,7 @@ function variable($word, ...$list) {  	}  } -variable("Separate", "Hello", "World") // Separate || Hello | World |  +variable("Separate", "Hello", "World"); // Separate || Hello | World |  /********************************   * Includes @@ -525,7 +530,8 @@ class MyClass      private $priv   = 'private';   // Accessible within the class only      // Create a constructor with __construct -    public function __construct($instanceProp) { +    public function __construct($instanceProp) +    {          // Access instance variables with $this          $this->instanceProp = $instanceProp;      } @@ -536,11 +542,26 @@ class MyClass          print 'MyClass';      } -    //final keyword would make a function unoverridable +    // final keyword would make a function unoverridable      final function youCannotOverrideMe()      {      } +    // Magic Methods + +    // what to do if Object is treated as a String +    public function __toString() +    { +        return $property; +    } + +    // opposite to __construct() +    // called when object is no longer referenced +    public function __destruct() +    { +        print "Destroying"; +    } +  /*   * Declaring class properties or methods as static makes them accessible without   * needing an instantiation of the class. A property declared as static can not @@ -737,11 +758,15 @@ $cls = new SomeOtherNamespace\MyClass();  *  */ -class ParentClass { -    public static function who() { +class ParentClass +{ +    public static function who() +    {          echo "I'm a " . __CLASS__ . "\n";      } -    public static function test() { + +    public static function test() +    {          // self references the class the method is defined within          self::who();          // static references the class the method was invoked on @@ -755,8 +780,10 @@ I'm a ParentClass  I'm a ParentClass  */ -class ChildClass extends ParentClass { -    public static function who() { +class ChildClass extends ParentClass +{ +    public static function who() +    {          echo "But I'm " . __CLASS__ . "\n";      }  } @@ -797,7 +824,7 @@ echo "Current method is " . __METHOD__;  echo "Current namespace is " . __NAMESPACE__;  // Get the name of the current trait. Only returns a value when used inside a trait or object declaration. -echo "Current namespace is " . __TRAIT__; +echo "Current trait is " . __TRAIT__;  /**********************  *  Error Handling | 
