PHP8.        
  


PHP         .    PHP               .





PHP8

       



  



  ,2020



ISBN978-5-0051-3833-0

     Ridero




PHP





 


PHP           - -.    ,     PHP   ,   Python Ruby. PHP    ,    ,     .    PHP,      PHP,    . PHP-     IDE (  ),   PHP    ,   PHP-.



PHP      . Ѡ  PHP            .   PHP (PHP 7)   ,    .  8PHP        .



PHP 8 26 2020.    ,  ,      ,      .   PHP 8   ,  ,       .



-      ,        ,    PHP 8.        ,     ,          7.* .



  , PHP 8     ,   JIT-,  ,   .



 PHP 8.0  ,      .        PHP 8.  php-    ,       - .




PHP 8Windows


    Windows: Microsoft ,      ⠫   PHP  Windows 8.0,    .



Microsoft       PHP Windows.         PHP    Windows.



ѠPHP 8.0 Microsoft PHP Windows      PHP Internals,     PHP 8.0 Windows.



 ,     2      1     .  ,  PHP 7.2  . PHP 7.3     . PHP 7.4       ,     .      PHP Windows  7.2, 7.37.4 ,    .     PHP  Windows     8.0


 .



     ,   PHP     Reddit, ,   ,  PHP 8.0  Windows.   ,  Microsoft   .



Microsoft ,      PHP 8.0,       PHP,    Windows  Linux (WSL).



Microsoft   WSL,       Linux,   Windows10.



     PHP 7.4  PHP 8.0 , Microsoft        PHP  Windows.




 





 


    PHP,   ,      .        ,  ,      .



public function foo (Foo|Bar $input): int|float;


 ,  void      ,        .  ,       "|null    ?:



public function foo (Foo|null $foo): void;

public function bar (?Bar $bar): void;





JIT


JIT just intime-    ,    -.  ,  JIT   ,      PHP-.




  


     null,     :     .          ,   :



$startDate = $booking-> getStartDate();

$dateAsString = $startDate? $startDate-> asDateTimeString (): null;


Ѡ           !

$dateAsString = $booking-> getStartDate ()? -> asDateTimeString();




 


     ,   ,        ,      !



function foo (string $a, string $b,?string $c = null,?string $d = null) {/**/}

foo (b: value b, a: value a, d: value d,);








,      ,         docblocks.

   ,   ,   , RFC:



use App\Attributes\ExampleAttribute;

@@ExampleAttribute classFoo

{

@@ExampleAttribute public const FOO = foo;

@@ExampleAttribute public$x;

@@ExampleAttribute public function foo(

@@ExampleAttribute $bar){}

}

@@Attribute class ExampleAttribute{

public $value; public function __construct ($value) {$this-> value = $value;

}

}


 ,        PHP  RFC,     RFC.      ,   ,      .

  ,       ,    .




 


       switch: match   ,   break,   ,        .




  .


   .

   ,     (https://www.litres.ru/pages/biblio_book/?art=57487801)  .

      Visa, MasterCard, Maestro,    ,   ,     ,  PayPal, WebMoney, ., QIWI ,       .


