рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рддрд╛рдЬрд╛ рдЪрдпрдиред рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ: PHP рдЗрдВрдЯрд░рдиреИрд╢рдирд▓ рд╕реЗ 5 рдирдП рдЖрд░рдПрдлрд╕реА, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреВрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рднрд╛рд╖рд╛ рдФрд░ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡, рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг, рд╡реАрдбрд┐рдпреЛ, рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рдкрдврд╝рдиреЗ рдХрд╛ рдордЬрд╝рд╛ рд▓реЗрдВ!
 рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐
 рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐
- PHP 7.4.3 - рдЗрд╕ рдмрд╛рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрднреА рднреА рдмрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ opcache.preload_userрдФрд░ рдЕрдм рдкреНрд░реАрд▓реЛрдб рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- PHP 7.3.15
- PHP 7.2.28
- :
 тАв -,2813 : SymCode-, TBA
 тАв --, 29 : 3- PHP-
 тАв , 12 : BeerPHP
 тАв , 14 : 3- PHP-
 тАв , 26 : 3- PHP-
 тАв , 28 : 2- PHP-
 тАв skyeng/php-communities тАФ PHP-, .
 
 тАв PHP fwdays'20, , 30 тАФ ! 15%: PHPDIGEST2020.
 
 PHP Internals
 PHP Internals
- Language evolution тАФ , PHP , . , -.
- : [RFC] Variable Syntax Tweaks, [RFC] Static return type, [RFC] Allow ::class on objects
- [RFC] Write-Once Properties тАФ , , . , : final,immutable,readonly,writeonce,locked,sealed.class Foo
{
    <keyword> public int $a = 1;
    <keyword> public string $b;
    <keyword> public array $c = ["foo"];
    <keyword> public object $d;
    public function __construct()
    {
        $this->b = "foo";
    }
}
$foo = new Foo();
$foo->a = 42;		
$foo->b = "bar";	
$foo->a++;		    
unset($foo->c);		
$foo->c[] = "bar";	
$var= &$this->c;	
$foo->d = new Foo();	
$foo->d->foo = "foo";	
 
 . , , , , , .
- [RFC] str_contains тАФ str_contains(string $haystack , string $needle) :bool, ,strpos()strstr().
- [RFC] Object-based token_get_all() alternative тАФ token_get_all(),PhpToken.
- [RFC] get_debug_type тАФ : gettype()get_class().
- [RFC] Allow explicit call-site pass-by-reference annotation тАФ RFC . . , . , .declare(require_explicit_send_by_ref=1);
function byRef(&$ref) {...}
byRef(&$var);
 
- [Pre-RFC] Add support for ┬лdecorator┬╗ pattern тАФ ┬л┬╗ PHP.interface Foo {
    public function method1(int $a): void;
    public function method2(): int;
    public function method3(string $b): string;
    public function method4(): stdClass;
    
}
class ComposedFoo implements Foo {
    private decorated Foo $inner;
    public function __construct(Foo $inner) { $this->inner = $inner; }
    public function method4(): stdClass {
        return $DO_SOMETHING_DIFFERENT_HERE;
    }
}
 
- [PR] Use serialize_precision for printing floats in var_dump() тАФ , floatvar_dump()(0.1 + 0.2 === 0.30000000000000004):
$sum = 0.1 + 0.2;
var_dump($sum); 
var_dump($sum == 0.3); 
$sum = 0.1 + 0.2;
var_dump($sum); 
var_dump($sum == 0.3); 
 

 Symfony
 Symfony
 Laravel
 Laravel
 Yii
 Yii
Async PHP

 /
 /
!
тАФ , , .
.
Telegram- PHP Digest.
тАФ GitHub.
тЖР : PHP- тДЦ 173