diff options
Diffstat (limited to 'php.html.markdown')
| -rw-r--r-- | php.html.markdown | 57 | 
1 files changed, 56 insertions, 1 deletions
| diff --git a/php.html.markdown b/php.html.markdown index 3fcce264..39ec5aef 100644 --- a/php.html.markdown +++ b/php.html.markdown @@ -215,6 +215,14 @@ assert($a !== $d);  assert(1 === '1');  assert(1 !== '1'); +// spaceship operator since PHP 7 +$a = 100; +$b = 1000; + +echo $a <=> $a; // 0 since they are equal +echo $a <=> $b; // -1 since $a < $b +echo $b <=> $a; // 1 since $b > $a +  // Variables can be converted between types, depending on their usage.  $integer = 1; @@ -264,6 +272,18 @@ if (false) {  // ternary operator  print (false ? 'Does not get printed' : 'Does'); +// ternary shortcut operator since PHP 5.3 +// equivalent of "$x ? $x : 'Does'"" +$x = false; +print($x ?: 'Does'); + +// null coalesce operator since php 7 +$a = null; +$b = 'Does print'; +echo $a ?? 'a is not set'; // prints 'a is not set' +echo $b ?? 'b is not set'; // prints 'Does print' + +  $x = 0;  if ($x === '0') {      print 'Does not print'; @@ -495,7 +515,7 @@ class MyClass      }  } -// Class constants can always be accessed statically  +// Class constants can always be accessed statically  echo MyClass::MY_CONST;    // Outputs 'value';  echo MyClass::$staticVar;  // Outputs 'static'; @@ -673,8 +693,43 @@ use My\Namespace as SomeOtherNamespace;  $cls = new SomeOtherNamespace\MyClass(); +/********************** +*  Error Handling +*    */ +// Simple error handling can be done with try catch block + +try { +    // Do something +} catch ( Exception $e) { +    // Handle exception +} + +// When using try catch blocks in a namespaced enviroment use the following + +try {  +    // Do something +} catch (\Exception $e) {  +    // Handle exception +} + +// Custom exceptions + +class MyException extends Exception {} + +try { +     +    $condition = true;  +     +    if ($condition) { +        throw new MyException('Something just happend'); +    } +     +} catch (MyException $e) { +    // Handle my exception +} +  ```  ## More Information | 
