рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рддрд╛рдЬрд╛ рдЪрдпрдиред рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ: PHP 7.4.0 RC1, Laravel 6, Monolog 2 рдФрд░ рдЕрдиреНрдп рд░рд┐рд▓реАрдЬрд╝, Union Types рдФрд░ PHP Internals рдХреЗ рдЕрдиреНрдп рд╕рдорд╛рдЪрд╛рд░, рдЙрдкрдпреЛрдЧреА рдЯреВрд▓реНрд╕ рдХрд╛ рдПрдХ рднрд╛рдЧ, рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХрд╛ рдПрдХ рдкреИрдХреЗрдЯ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рдЕрдЪреНрдЫрд╛ рдкрдврд╝ рд▓реЛ!
рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐
- PHP 7.4.0 RC1 - рд╢рд╛рдЦрд╛ 7.4 рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬ рдЙрдореНрдореАрджрд╡рд╛рд░ рдЪрдХреНрд░ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо 6 рдореБрджреНрджреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред
- PHP 7.1.32 , PHP 7.2.22 , PHP 7.3.9 - рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд╣реИ, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред
- рдореЛрдиреЛрд▓реЙрдЧ 2.0.0 - 4 рд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж, рдореЛрдиреЛрд▓реЙрдЧ 2.0 рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред PHP 7.2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╕рдВрднрд╡ рд╣реЛ рдФрд░ рд╕рдЦреНрдд_рдЯрд╛рдЗрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирдП рд╣реИрдВрдбрд▓рд░ (SqsHandler, TelegramBotHandler) рдФрд░ рдЕрдзрд┐рдХ рдЬреЛрдбрд╝реЗ рдЧрдПред рдореЛрдиреЛрд▓реЙрдЧ 1.x рдХрд╛ рд╕рдорд░реНрдерди рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред
PHP рдХреЗ рдЖрдВрддрд░рд┐рдХ
- [RFC] рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рдЗрдВрдЬрди рдЪреЗрддрд╛рд╡рдиреА - рдпрд╣ PHP рдЗрдВрдЬрди рдореЗрдВ рдЧрд┐рд░рд╛ рдиреЛрдЯрд┐рд╕ рдФрд░ vorings рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдФрд░ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рд╡рд░реНрдЧреАрдХрд░рдг рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ: рдиреЛрдЯрд┐рд╕ -> рдЪреЗрддрд╛рд╡рдиреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рдЧреИрд░-рд╡рд╕реНрддреБ рд╕реЗ рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдФрд░ рдЪреЗрддрд╛рд╡рдиреА -> рддреНрд░реБрдЯрд┐ рдЕрдкрд╡рд╛рдж, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рд╕реНрдХреЗрд▓рд░ рдХреЛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЦреИрд░, "рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдЪрд░" рдЪреЗрддрд╛рд╡рдиреА рдлреЗрдВрдХ рджреЗрдЧрд╛ред
- [RFC] рдпреВрдирд┐рдпрди рдкреНрд░рдХрд╛рд░ v2 - рдпрд╣ рд╕рдВрдпреБрдХреНрдд рдкреНрд░рдХрд╛рд░ рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЪрд░ рд╕реВрдЪреАрдмрджреНрдз рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдбреАрдИрдПрдлрд╝рдПрдХреНрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ PHPDoc рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреБрднрд╛рд╖рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рд╣реА рдЬрд╛рдВрдЪреЗ рдЬрд╛рдПрдВрдЧреЗред
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ T1|T2|...
рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдм рдХрд╣реАрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда class Number { private int|float $number; public function setNumber(int|float $number): void { $this->number = $number; } public function getNumber(): int|float { return $this->number; } }
рдПрдХ рдкреНрд░рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ, RFC рдХреЛ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдЗрдореЛрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рд╡реЛрдЯ wiki.php.net рдкрд░ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рд╣реЛрдЧрд╛ред рдирд┐рдХрд┐рддрд╛ рдХреЗ рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдкрд╣рд▓рд╛ рдкреНрд░рдпреЛрдЧ рдЕрдЪреНрдЫрд╛ рд░рд╣рд╛ рдФрд░ рд╕рдореБрджрд╛рдп рд╕реЗ рдХрдИ рдореВрд▓реНрдпрд╡рд╛рди рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИрдВред - PHP_ 8 рдореЗрдВ error_reporting = E_ALL - PHP 8 рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕реНрддрд░ рд╡рд░реНрддрдорд╛рди рдХреЗ рдмрдЬрд╛рдп
E_ALL
рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
ред
рдЙрдкрдХрд░рдг
Symfony
Laravel
- рд▓рд╛рд░рд╡реЗрд▓ 6 - рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдкреНрд░рдореБрдЦ рдЕрджреНрдпрддрди рд▓рд╛рд░реНрдХреЛрдиреНрдпреВ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬрд╝ рд╣реИ рдФрд░ 3 рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдм рд░рд┐рд▓реАрдЬрд╝ рд╕реЗрд╡рд░ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 7 рдЗрд╕ рд╕рд░реНрджреА рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд░реВрд╕реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА, рдФрд░ рд▓рд░рд╛рдХреЛрд╕реНрдЯ рдкрд░ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ ред
- рдореБрдЦреМрдЯрд╛ / рдкреНрд░рдЬреНрд╡рд▓рди - рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рд╛рд░рд╡реЗрд▓ 6 рдореЗрдВ рдПрдХ рдирдпрд╛ рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рд╣реИ ред рдпрд╣ рд╡реНрд╣рд╛рдЯреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╕рд░рд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рднреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИред
- рдкрд░реЗ / рд▓рд╛рд░реНрд╡рд╛-рд╡реНрдпреВ-рдПрдХреНрд╕рд░реЗ - рдкреГрд╖реНрда рдкрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВред
- stefanzweifel / laravel-рдЖрдБрдХрдбрд╝реЗ 2.0 - рдХрд╛рд░реАрдЧрд░-рдЯреАрдо рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЛрдб рдЖрдБрдХрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред
PHP Townhall # 68: рдореБрдЦреМрдЯреЗ рдХреЗ рдкреАрдЫреЗ - рдЯреЗрд▓рд░ рдУрдЯрд╡реЗрд▓ рдореИрдЯ рдЯреНрд░реЗрдХ рдФрд░ рдмреЗрди рдПрдбрдордВрдбреНрд╕ рдХрд╛ рджреМрд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд▓рд╛рд░рд╡реЗрд▓ рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ, рдЪреАрдЬреЛрдВ рдХреЗ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рдкрдХреНрд╖ рдФрд░ рд▓рд╛рд░реНрдХреЛрдирд╕ рд╕рдВрдЧрдардиред
Yii
Async php
ReactPHP рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдореГрджреНрдз рдПрдкреАрдЖрдИ рд▓рд┐рдЦрдирд╛: рдкреНрд░рдмрдВрдз рдЖрджреЗрд╢- clue / reactphp-stdio - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕реАрдПрд▓рдЖрдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЙрдкрдХрд░рдгред рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рдорд░реНрдерди рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ ред
рд╕реАрдЦрдиреЗ рдХреА рд╕рд╛рдордЧреНрд░реА
рдСрдбрд┐рдпреЛ / рд╡реАрдбрд┐рдпреЛ
рд╕рдореБрджрд╛рдп
- Zend рдлреНрд░реЗрдорд╡рд░реНрдХ ( Laminas ) рдХреЗ рдиреЗрддрд╛ рдФрд░ PHP-FIG рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореИрдереНрдпреВ рд╡реАрдпрд░ рдУ'рдкрдиреА рдиреЗ Zend рдореЗрдВ рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдИ рдЬрдЧрд╣ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- Xdebug Derick Rethans рд▓реЗрдЦрдХ Xdebug 3 рдХреЛ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬрд┐рд╕ рдкрд░ рдЬреЛ рд╡рд╛рдЯрдХрд┐рдВрд╕ рдиреЗ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ рдХрд┐ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдПрдХ рдореБрдХреНрдд рдбрд┐рдмрдЧрд░ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдЧрд▓рддреА рдпрд╛ рдЕрд╢реБрджреНрдзрд┐ рджрд┐рдЦрддреА рд╣реИ - рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдкреАрдПрдо рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред
рдкреНрд░рд╢реНрди рдФрд░ рд╕реБрдЭрд╛рд╡ рдореЗрд▓ рдпрд╛ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
PHP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓ рдкрд░ рдЕрдзрд┐рдХ рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВред
рд▓рд┐рдВрдХ рднреЗрдЬреЗрдВ
рд╕рднреА рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдЦреЛрдЬреЗрдВ
тЖР рдкрд┐рдЫрд▓рд╛ рд░рд┐рд▓реАрдЬрд╝: PHP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдирдВрдмрд░ 163