рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рддрд╛рдЬрд╛ рдЪрдпрдиред рд░рд┐рд▓реАрдЬ рдореЗрдВ: PHP рдФрд░ рд╕рдВрдЧреАрддрдХрд╛рд░ 1.10 рдЕрдкрдбреЗрдЯ, рдХреЙрдиреНрдлреНрд░реЗрдВрд╕ рдЯреНрд░рд╛рдВрд╕рдлрд░, PHP рдЗрдВрдЯрд░рдиреИрд╢рдирд▓ рд╕реЗ 3 рдирдП RFC рдСрдлрд░, рдЙрдкрдпреЛрдЧреА рдЯреВрд▓реНрд╕, рд╡реАрдбрд┐рдпреЛ, рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рдкрдврд╝рдиреЗ рдХрд╛ рдордЬрд╝рд╛ рд▓реЗрдВ!
рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐
- PHP 7.4.4 , PHP 7.3.16 , PHP 7.2.29 - рд╕реБрд░рдХреНрд╖рд╛ рд░рд┐рд▓реАрдЬрд╝, рд╕рднреА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред
- рд╕рдВрдЧреАрддрдХрд╛рд░ 1.10.0 - рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмреАрдЪ, рдПрдХ рдирдпрд╛ "рдлрдВрдбрд┐рдВрдЧ" рдХреНрд╖реЗрддреНрд░ рдХрдВрдкреЛрдЬрд░.рдЬреЙрди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, GitHub рдкрд░ FUNDING.yml рд╕реЗ рдбреЗрдЯрд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдирдИ рдЯреАрдо рднреА рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ
composer fund
рдЬреЛ рдЖрдкрдХреЗ рд╡реНрдпрд╕рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдпреЛрдЬрди рдХреА рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рддреА рд╣реИред
, .
тАв PHP Russia тАУ , 13 PHP Russia Online.
тАв
PHP- , .
тАв : Laracon EU Madrid, Midwest PHP.
PHP Internals
- [RFC] str_contains тАФ .
str_contains()
, . - [RFC] throw expression тАФ PHP ,
throw
тАУ , . , :$callable = fn() => throw new Exception();
$value = $nullableValue ?? throw new InvalidArgumentException();
$value = $falsableValue ?: throw new InvalidArgumentException();
$value = !empty($array)
? reset($array)
: throw new InvalidArgumentException();
- [RFC] Compact Object Property Assignment тАФ . [RFC] Object Initializer, . :
doTheFoo((new Foo)->[
a = 1,
b = 2,
c = 3,
]);
$myObj = new Foo();
$myObj->a = 1;
$myObj->b = 2;
$myObj->c = 3;
doTheFoo($myObj);
- [RFC] Is Literal Check тАФ
is_literal()
, / , , , PHP, .define('TABLE', 'example');
$sql = 'SELECT * FROM ' . TABLE . ' WHERE id = ?';
is_literal($sql);
$sql .= ' AND id = ' . mysqli_real_escape_string($db, $_GET['id']);
is_literal($sql);
, . , . - [RFC] Write-Once Properties тАФ , . , , , .
- RFC .
.
Understanding RFC attitudes , - , - , PHP Internals RFC.

Symfony
Laravel
Async PHP

/
рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!
рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдЧрд▓рддреА рдпрд╛ рдЕрд╢реБрджреНрдзрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ - рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдкреАрдПрдо рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ ред
рдкреНрд░рд╢реНрди рдФрд░ рд╕реБрдЭрд╛рд╡ рдореЗрд▓ рдпрд╛ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ ред PHP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓ рдкрд░ рдЕрдзрд┐рдХ рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ ред рд╕рдВрджреЗрд╢ рд▓рд┐рдВрдХ рд╕рднреА рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд▓рд┐рдВрдХ
тЖР рдкреАрдПрдЪрдкреА рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдирдВ 175: рдкрд┐рдЫрд▓рд╛ рд░рд┐рд▓реАрдЬ