diff options
Diffstat (limited to 'php.html.markdown')
| -rw-r--r-- | php.html.markdown | 27 | 
1 files changed, 19 insertions, 8 deletions
diff --git a/php.html.markdown b/php.html.markdown index 40c9dd01..1ef52f68 100644 --- a/php.html.markdown +++ b/php.html.markdown @@ -34,6 +34,7 @@ echo "World\n"; // Prints "World" with a line break  ?>  Hello World Again!  <?php +// That is because historically PHP started as a Template engine  /************************************ @@ -41,12 +42,15 @@ Hello World Again!   */  // Variables begin with the $ symbol. -// A valid variable name starts with a letter or underscore, +// A valid variable name starts with a letter or an underscore,  // followed by any number of letters, numbers, or underscores. +// You don't have to (and cannot) declare variables. +// Once you assign a value, PHP will create the variable with the right type. +  // Boolean values are case-insensitive  $boolean = true;  // or TRUE or True -$boolean = false; // or FALSE or False +$boolean = FALSE; // or false or False  // Integers  $int1 = 12;   // => 12 @@ -88,9 +92,10 @@ $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."; +$number = 23; +$apples = "I have {$number} apples to eat.";   // => I have 23 apples to eat. +$oranges = "I have ${number} oranges to eat."; // => I have 23 oranges to eat. +$money = "I have $${number} in the bank.";     // => I have $23 in the bank.  // Since PHP 5.3, nowdocs can be used for uninterpolated multi-liners  $nowdoc = <<<'END' @@ -105,7 +110,7 @@ $sgl_quotes  END;  // String concatenation is done with . -echo 'This string ' . 'is concatenated'; +echo 'This string ' . 'is concatenated';  // Returns 'This string is concatenated'  // Strings can be passed in as parameters to echo  echo 'Multiple', 'Parameters', 'Valid';  // Returns 'MultipleParametersValid' @@ -289,7 +294,7 @@ if (false) {  print (false ? 'Does not get printed' : 'Does');  // ternary shortcut operator since PHP 5.3 -// equivalent of "$x ? $x : 'Does'"" +// equivalent of "$x ? $x : 'Does'"  $x = false;  print($x ?: 'Does'); @@ -439,7 +444,7 @@ $bar('C'); // Prints "A - B - C"  // You can call named functions using strings  $function_name = 'add';  echo $function_name(1, 2); // => 3 -// Useful for programatically determining which function to run. +// Useful for programmatically determining which function to run.  // Or, use call_user_func(callable $callback [, $parameter [, ... ]]); @@ -587,6 +592,12 @@ echo $my_class->property;     // => "public"  echo $my_class->instanceProp; // => "An instance property"  $my_class->myMethod();        // => "MyClass" +// Nullsafe operators since PHP 8 +// You can use this when you're unsure if the abstraction of $my_class contains has a property/method +// it can be used in conjunction with the nullish coalesce operator to ensure proper value +echo $my_class->invalid_property // An error is thrown +echo $my_class?->invalid_property // => NULL +echo $my_class?->invalid_property ?? "public" // => "public"  // Extend classes using "extends"  class MyOtherClass extends MyClass  | 
