{"id":290135,"date":"2018-10-01T00:25:02","date_gmt":"2018-09-30T20:25:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=290135"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=290135","title":{"rendered":"PHP-\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u2116 140 (17 \u2013 30 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2018)"},"content":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\"><a href=\"https:\/\/habr.com\/company\/zfort\/blog\/424949\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/087\/0f1\/6a9\/0870f16a9c6f4066aca9c6230cfdda33.jpg\" width=\"585\"><\/div>\n<p><\/a>  <\/p>\n<p>\u0421\u0432\u0435\u0436\u0430\u044f \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b. \u0412 \u0432\u044b\u043f\u0443\u0441\u043a\u0435: PHP 7.3 RC2, Codeception 2.5 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u043b\u0438\u0437\u044b, \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 PHP 7.4, \u043a\u043e\u043d\u0446\u0435\u043f\u0442 \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043a\u043e\u0434\u0430 \u043e\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0421\u0442\u043e\u0433\u043e\u0432\u0430, \u043f\u043e\u0440\u0446\u0438\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435.<br \/>  \u041f\u0440\u0438\u044f\u0442\u043d\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f!<\/p>\n<p>  <a name=\"habracut\"><\/a>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/f57\/4e9\/991\/f574e9991c42407b8fa789a66b854f8d.png\" width=\"20\"> \u041d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438 \u0440\u0435\u043b\u0438\u0437\u044b<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"http:\/\/news.php.net\/php.internals\/103273\">PHP 7.3 RC2<\/a> \u2014 \u0412\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u043e <a href=\"https:\/\/wiki.php.net\/todo\/php73#timetable\">\u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e<\/a>. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f 11 \u043e\u043a\u0442\u044f\u0431\u0440\u044f. \u0415\u0449\u0435 \u043e\u0434\u0438\u043d <a href=\"https:\/\/www.phparch.com\/2018\/09\/php-7-3-is-on-track\/\">\u043e\u0431\u0437\u043e\u0440 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0439 PHP 7.3<\/a>.<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/phpstorm\/2018\/09\/phpstorm-2018-3-eap-183-2635-12\/\">PhpStorm 2018.3 EAP<\/a> \u2014 \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0440\u0430\u043d\u043d\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c PhpStorm \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e. \u0412 \u0441\u0432\u0435\u0436\u0438\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 &lt;generic&gt; \u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u0438\u0437 PSR-5 PHPDoc, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0439 \u0442\u0438\u043f\u043e\u0432 <code>Foo&amp;Bar<\/code>. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 <a href=\"https:\/\/medium.com\/@ondrejmirtes\/union-types-vs-intersection-types-fd44a8eacbb\">\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0438 \u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u0442\u0438\u043f\u043e\u0432<\/a> \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0430 <a href=\"https:\/\/github.com\/phpstan\/phpstan\">PHPStan<\/a>.<\/li>\n<li><a href=\"https:\/\/codeception.com\/09-24-2018\/codeception-2.5\">Codeception 2.5<\/a> \u2014 \u0412 \u0430\u043f\u0434\u0435\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0441\u043d\u044d\u043f\u0448\u043e\u0442-\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0411\u0414 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f.<\/li>\n<li><a href=\"https:\/\/github.com\/doctrine\/mongodb-odm\/blob\/master\/UPGRADE-2.0.md\">doctrine\/mongodb-odm 2.0 Alpha 1<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nikic\/FastRoute\/issues\/173\">nikic\/FastRoute<\/a> \u2014 \u0440\u0430\u0437\u044b\u0441\u043a\u0438\u0432\u0430\u0435\u0442 \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430! \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u041d\u0438\u043a\u0438\u0442\u0430 \u041f\u043e\u043f\u043e\u0432 \u0434\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u043d\u0430 PHP. \u041d\u0430\u043f\u043e\u043c\u043d\u044e \u043f\u0440\u043e \u0435\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e <a href=\"http:\/\/nikic.github.io\/2014\/02\/18\/Fast-request-routing-using-regular-expressions.html\">Fast request routing using regular expressions<\/a>.<\/li>\n<li><a href=\"https:\/\/events.yandex.ru\/events\/meetings\/18-OCT-2018\/\">Yandex PHP meetup, 18 \u043e\u043a\u0442\u044f\u0431\u0440\u044f 2018, \u041c\u043e\u0441\u043a\u0432\u0430<\/a> \u2014 \u0412 \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c \u043e\u0444\u0438\u0441\u0435 \u042f\u043d\u0434\u0435\u043a\u0441\u0430 \u043f\u0440\u043e\u0439\u0434\u0451\u0442 \u0432\u0441\u0442\u0440\u0435\u0447\u0430 PHP-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.<\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c9e\/e78\/803\/c9ee7880391644e4aef6cc28ca681ab0.png\" width=\"20\"> PHP Internals<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/typed_properties_v2\">[RFC] Typed Properties 2.0<\/a> \u2014 \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0435\u0434\u0438\u043d\u043e\u0433\u043b\u0430\u0441\u043d\u043e: 70 \u043f\u0440\u043e\u0442\u0438\u0432 1! \u0422\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0432 PHP 7.4.\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"php\">class Example {     \/\/ All types with the exception of \"void\" and \"callable\" are supported     public int $scalarType;     protected Type $type;     private ?Type $nullableType;       \/\/ Types are also legal on static properties     public static iterable $staticProp;       \/\/ Types can also be used with the \"var\" notation     var bool $flag;       \/\/ Typed properties may have default values (more below)     public string $str = \"foo\";     public ?string $nullableStr = null;       \/\/ The type applies to all properties in one declaration     public float $x, $y;     \/\/ equivalent to:     public float $x;     public float $y; } <\/code><\/pre>\n<\/div>\n<\/div>\n<\/li>\n<li><a href=\"https:\/\/github.com\/php\/php-src\/pull\/3538\">[PR] An attempt to implement \u00abpreloading\u00bb ability<\/a> \u2014 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u0421\u0442\u043e\u0433\u043e\u0432 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 PHPNG, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u0430\u043b \u0431\u0430\u0437\u043e\u0439 \u0434\u043b\u044f PHP 7. \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043a\u043e\u043d\u0446\u0435\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043a\u043e\u0434 \u0435\u0449\u0435 \u0434\u043e \u0442\u043e\u0433\u043e \u043a\u0430\u043a PHP \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441. <br \/>  \u0422\u0430\u043a\u0436\u0435 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430\u0434 <a href=\"https:\/\/github.com\/zendtech\/php-src\/tree\/jit-dynasm\/ext\/opcache\/jit\">\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 JIT \u0432 PHP<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f <a href=\"https:\/\/habr.com\/company\/badoo\/blog\/415359\/\">\u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u0432 PHP 8<\/a>.<\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/cf8\/62d\/907\/cf862d9072784d04b621238ec137f2ca.png\" width=\"20\"> \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/spiral\/roadrunner\">spiral\/roadrunner<\/a> \u2014 \u0412\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0434\u043b\u044f PHP \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Go. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 <a href=\"https:\/\/github.com\/spiral\/roadrunner\/wiki\/HTTPS-and-HTTP2\">\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 HTTPS \u0438 HTTP\/2 Push<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/ankitpokhrel\/tus-php\">ankitpokhrel\/tus-php<\/a> \u2014 \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 <a href=\"https:\/\/tus.io\/\">tus.io<\/a> \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432. \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 <a href=\"https:\/\/medium.com\/vimeo-engineering-blog\/vimeo-is-adopting-tus-d5e999acd517\">Vimeo<\/a>, <a href=\"https:\/\/blog.cloudflare.com\/how-cloudflare-streams\/\">Cloudflare<\/a>, \u0438 <a href=\"https:\/\/github.com\/git-lfs\/git-lfs\/blob\/master\/docs\/man\/git-lfs-config.5.ronn#transfer-upload--download-settings\">Git LFS<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/TiBeN\/CrontabManager\">TiBeN\/CrontabManager<\/a> \u2014 \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 cron-\u0437\u0430\u0434\u0430\u0447.<\/li>\n<li><a href=\"https:\/\/github.com\/paragonie\/easydb\">paragonie\/easydb<\/a> \u2014 \u041f\u0440\u043e\u0441\u0442\u0430\u044f \u0438 \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u043e\u0431\u0435\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 PDO. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 <a href=\"https:\/\/github.com\/paragonie\/easydb-cache\">paragonie\/easydb-cache<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/zendframework\/zend-diactoros\/releases\/2.0.0\">zendframework\/zend-diactoros 2.0.0<\/a> \u2014 \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 PSR-7 \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0449\u0435 PSR-17.<\/li>\n<li><a href=\"https:\/\/github.com\/liuggio\/fastest\">liuggio\/fastest<\/a> \u2014 \u041f\u0440\u043e\u0441\u0442\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0435\u0441\u0442\u043e\u0432. \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u043c\u0443 <a href=\"https:\/\/github.com\/paratestphp\/paratest\">paratestphp\/paratest<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/konsulting\/porter\">konsulting\/porter<\/a> \u2014 \u041c\u0443\u043b\u044c\u0442\u0438\u0441\u0430\u0439\u0442 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 Docker.<\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/329\/bec\/7c1\/329bec7c1e914963a1c5d2f2bfe99995.png\" width=\"20\"> \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f<\/h3>\n<p>  <\/p>\n<ul>\n<li>\n<h5><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/96b\/65e\/921\/96b65e92179a40f2bd1884549973ddd5.png\" width=\"16\"> Symfony<\/h5>\n<p>   <\/p>\n<ul>\n<li><a href=\"https:\/\/symfony.com\/blog\/meet-our-new-official-family-member-symfonycasts\">KnpUniversity \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d \u0432 SymfonyCasts<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/enumag\/no-thanks\">enumag\/no-thanks<\/a> \u2014 \u0423\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0435 \u043e <a href=\"https:\/\/github.com\/symfony\/thanks\">symfony\/thanks<\/a> \u0432 symfony\/flex \ud83d\ude42<\/li>\n<li>\u041d\u0435\u0434\u0435\u043b\u044f Symfony <a href=\"https:\/\/symfony.com\/blog\/a-week-of-symfony-612-17-23-september-2018\">#612 (17-23 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2018)<\/a>, <a href=\"https:\/\/symfony.com\/blog\/a-week-of-symfony-613-24-30-september-2018\">#613 (24-30 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2018)<\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li>\n<h5><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/314\/bd0\/f0d\/314bd0f0dfc54e3fa7f0c0daef1a2d25.png\" width=\"16\"> Laravel<\/h5>\n<p>   <\/p>\n<ul>\n<li><a href=\"https:\/\/medium.com\/@nunomaduro\/laravel-zero-5-7-is-now-available-4a263b119a8c\">Laravel Zero 5.7<\/a><\/li>\n<li><a href=\"https:\/\/tighten.co\/blog\/app-key-and-you\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 APP_KEY \u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u043e\u043d \u043d\u0443\u0436\u0435\u043d<\/a><\/li>\n<li><a href=\"https:\/\/laravel-news.com\/your-first-laravel-application\">\u041f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0443\u0440\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Laravel<\/a><\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"> <a href=\"https:\/\/www.youtube.com\/watch?v=Sl533bI3qSs&amp;feature=youtu.be\">Building LaraShoppe<\/a> \u2014 \u0421\u043a\u0440\u0438\u043d\u043a\u0430\u0441\u0442 \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430 \u0441 \u043d\u0443\u043b\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Laravel, Laravel Nova, Vue.js, \u0438 Tailwind CSS.<\/li>\n<li><a href=\"https:\/\/github.com\/antonioribeiro\/health\">antonioribeiro\/health<\/a> \u2014 \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 Laravel \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u043c\u0438.<\/li>\n<li><a href=\"https:\/\/github.com\/spatie\/laravel-blade-x\">spatie\/laravel-blade-x<\/a> \u2014 \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 HTML-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0432 Blade-\u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0445 \u0432\u043c\u0435\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b <code>@include<\/code>.<\/li>\n<li><a href=\"https:\/\/github.com\/railken\/lara-eye\">railken\/lara-eye<\/a> \u2014 \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u043d\u0430\u0431\u043e\u0440 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 where \u0434\u043b\u044f QueryBuilder.<\/li>\n<\/ul>\n<p>   <\/li>\n<li>\n<h5>Async PHP<\/h5>\n<p>   <\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=qHV0GATf2zY&amp;feature=youtu.be\">ReactPHP Tutorial #12: Routing<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/friends-of-reactphp\/mysql\">friends-of-reactphp\/mysql 0.4<\/a> \u2014 \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f MySQL. \u0412 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0430 \u043f\u0440\u043e\u043c\u0438\u0441\u0430\u0445 \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u043e\u043b\u0431\u044d\u043a\u043e\u0432 \u0438 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u044b\u0441\u044f\u0447\u0438 \u0438 \u043c\u0438\u043b\u043b\u0438\u043d\u043e\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438\u0437 MySQL \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e ReactPHP. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 <a href=\"https:\/\/www.lueck.tv\/2018\/introducing-reactphp-mysql\">\u043f\u043e\u0441\u0442\u0435<\/a> \u0430\u0432\u0442\u043e\u0440\u0430.<\/li>\n<\/ul>\n<p>   <\/li>\n<li>\n<h5>CMS<\/h5>\n<p>   <\/p>\n<ul>\n<li><a href=\"https:\/\/www.maxpronko.com\/magento-tech-digest-32-september-17-24-2018\/\">Magento Tech Digest #32: Sept 17 \u2013 24, 2018<\/a><\/li>\n<li><a href=\"http:\/\/www.opennet.ru\/opennews\/art.shtml?num=49318\">\u041c\u0430\u0441\u0441\u043e\u0432\u0430\u044f \u0430\u0442\u0430\u043a\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442\u044b \u0441 \u043d\u0435\u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u044b\u043c \u0434\u0432\u0438\u0436\u043a\u043e\u043c WordPress<\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li><a href=\"https:\/\/www.tomasvotruba.cz\/blog\/2018\/09\/17\/7-tips-to-write-exceptions-everyone-will-love\/\">7 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439<\/a><\/li>\n<li><a href=\"https:\/\/steemit.com\/php\/@crell\/don-t-use-mocking-libraries\">\u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043c\u043e\u043a\u043e\u0432<\/a><\/li>\n<li><a href=\"https:\/\/matthiasnoback.nl\/2018\/09\/assertions-and-assertion-libraries\/\">Assertions and assertion libraries<\/a><\/li>\n<li><a href=\"https:\/\/deliciousbrains.com\/php-encryption-methods\/\">\u041c\u0435\u0442\u043e\u0434\u044b \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 PHP \u0434\u043b\u044f \u043f\u0430\u0440\u043e\u043b\u0435\u0439 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/a><\/li>\n<li>Paragon Initiative: <a href=\"https:\/\/paragonie.com\/blog\/2018\/09\/slice-pie-00\">Slice Of PIE #00<\/a> \u2014 \u041f\u043e\u0447\u0435\u043c\u0443 \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u043e\u0435 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0430\u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u043e\u0435? \u041a\u0430\u043a\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043e\u043f\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c PHP \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c?<\/li>\n<li><a href=\"https:\/\/medium.com\/@kerion7\/creating-a-simple-php-application-on-google-app-engine-c75ce5150c30\">\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0435 PHP-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Google App Engine<\/a><\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"> <a href=\"https:\/\/bitpress.io\/docker-php-flexible-xdebug-configuration\/?ck_subscriber_id=172449570\">\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f XDebug \u0432 Docker \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/500\/4e4\/176\/5004e41767c539382d09c44e143f9bd6.png\"> <a href=\"https:\/\/habr.com\/post\/423481\/\">\u041d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0442\u044c Kubernetes \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u043d\u043e \u044f \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u043a\u043e\u0434\u0430. \u0412\u044b\u0445\u043e\u0434 \u0435\u0441\u0442\u044c<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/500\/4e4\/176\/5004e41767c539382d09c44e143f9bd6.png\"> <a href=\"https:\/\/habr.com\/post\/423875\/\">\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0444\u0430\u0439\u043b\u043e\u0432<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/500\/4e4\/176\/5004e41767c539382d09c44e143f9bd6.png\"> <a href=\"https:\/\/habr.com\/post\/424595\/\">MVC + Scenario \u043f\u0440\u043e\u0442\u0438\u0432 \u0422\u043e\u043b\u0441\u0442\u044b\u0445 \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432<\/a><\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/8dc\/c23\/677\/8dcc236774104f8286a40ceaea553820.png\" width=\"20\"> \u0410\u0443\u0434\u0438\u043e \u0438 \u0432\u0438\u0434\u0435\u043e\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/h3>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"><img decoding=\"async\" alt=\"ru\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c72\/991\/4ca\/c729914ca9c21661c5abd81052c6a10e.gif\"> <a href=\"https:\/\/elisdn.ru\/blog\/124\/psr7-console-db-assets\">\u041f\u0438\u0448\u0435\u043c PSR-7 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a: \u041a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b<\/a><\/li>\n<li><img decoding=\"async\" alt=\"ru\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c72\/991\/4ca\/c729914ca9c21661c5abd81052c6a10e.gif\"> <a href=\"https:\/\/5minphp.ru\/episode39\/\">\u041f\u044f\u0442\u0438\u043c\u0438\u043d\u0443\u0442\u043a\u0430 PHP \u0412\u044b\u043f\u0443\u0441\u043a \u211639<\/a> \u2014 \u041a\u0430\u043a \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u0434 PHP 7.3?<\/li>\n<li><img decoding=\"async\" alt=\"ru\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c72\/991\/4ca\/c729914ca9c21661c5abd81052c6a10e.gif\"> <a href=\"https:\/\/5minphp.ru\/episode38\/\">\u041f\u044f\u0442\u0438\u043c\u0438\u043d\u0443\u0442\u043a\u0430 PHP \u0412\u044b\u043f\u0443\u0441\u043a \u211638<\/a> \u2014 DevOops \u0438 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u044f DevOps \u0432 2018 \u0433\u043e\u0434\u0443<\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"> <a href=\"https:\/\/www.phproundtable.com\/episode\/docblocks-annotations-psr-5-and-the-like\">PHP Roundtable #78: DocBlocks, Annotations, PSR-5<\/a><\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/cc2\/4d9\/c95\/cc24d9c95c9841988f8299a8b285e6f6.png\" width=\"20\"> \u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/blog.nikolaposa.in.rs\/2018\/09\/23\/community-driven-php8-wish-list\/\">\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0430\u043c\u044b\u0445 \u0436\u0435\u043b\u0430\u0435\u043c\u044b\u0445 \u0444\u0438\u0447 \u0434\u043b\u044f PHP 8 \u0438\u0437 \u043e\u043f\u0440\u043e\u0441\u0430 \u0432 \u0442\u0432\u0438\u0442\u0442\u0435\u0440\u0435<\/a> \u2014 \u041d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0434\u0436\u0435\u043d\u0435\u0440\u0438\u043a\u0438 (<a href=\"https:\/\/wiki.php.net\/rfc\/generics\">RFC<\/a>), \u0430 \u0437\u0430\u0442\u0435\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u043b\u044f\u043c\u0431\u0434\u044b (<a href=\"https:\/\/wiki.php.net\/rfc\/arrow_functions\">RFC<\/a>), \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c (<a href=\"https:\/\/github.com\/krakjoe\/pthreads\">pthreads<\/a>), \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b (<a href=\"https:\/\/github.com\/nikic\/scalar_objects\">nikic\/scalar_objects<\/a>), \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 (<a href=\"https:\/\/habr.com\/company\/badoo\/blog\/415359\/\">PHP 8<\/a>), \u0438 \u043f\u0440\u043e\u0447\u0435\u0435.<\/li>\n<li><a href=\"https:\/\/remotephp.io\/\">RemotePHP.io<\/a> \u2014 \u0411\u043e\u0440\u0434\u0430 \u0441 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044f\u043c\u0438 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443.<\/li>\n<li>\n<div class=\"oembed\">\n<blockquote class=\"twitter-tweet\" data-lang=\"en_US\">\n<p lang=\"en\" dir=\"ltr\">Don&#8217;t  put  your  .env  files  in  the  web-server  directory <a href=\"https:\/\/t.co\/DWHmT6r6E3\">https:\/\/t.co\/DWHmT6r6E3<\/a> <a href=\"https:\/\/t.co\/Qp5tun3CZh\">pic.twitter.com\/Qp5tun3CZh<\/a><\/p>\n<p>\u2014 svbl (@svblxyz) <a href=\"https:\/\/twitter.com\/svblxyz\/status\/1045013939904532482?ref_src=twsrc%5Etfw\">September 26, 2018<\/a><\/p><\/blockquote>\n<p> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script> <\/div>\n<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443 \u0438\u043b\u0438 \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u2014 \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432 <a href=\"https:\/\/habrahabr.ru\/conversations\/pronskiy\/\">\u043b\u0438\u0447\u043a\u0443<\/a>.<br \/>  \u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u0448\u0438\u0442\u0435 \u043d\u0430 <a href=\"mailto:roman@pronskiy.com\">\u043f\u043e\u0447\u0442\u0443<\/a> \u0438\u043b\u0438 \u0432 <a href=\"https:\/\/twitter.com\/pronskiy\">\u0442\u0432\u0438\u0442\u0442\u0435\u0440<\/a>.<\/p>\n<p>  <a href=\"https:\/\/bit.ly\/php-digest-add-link\">\u041f\u0440\u0438\u0441\u043b\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443<\/a><br \/>   <a href=\"https:\/\/pronskiy.com\/php-digest\/\">\u041f\u043e\u0438\u0441\u043a \u0441\u0441\u044b\u043b\u043e\u043a \u043f\u043e \u0432\u0441\u0435\u043c \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430\u043c<\/a><br \/>   \u2190 <a href=\"https:\/\/habr.com\/company\/zfort\/blog\/423491\/\">\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a: PHP-\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u2116 139<\/a>  <\/p>\n<\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/post\/424949\/\"> https:\/\/habr.com\/post\/424949\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\"><a href=\"https:\/\/habr.com\/company\/zfort\/blog\/424949\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/087\/0f1\/6a9\/0870f16a9c6f4066aca9c6230cfdda33.jpg\" width=\"585\"><\/div>\n<p><\/a>  <\/p>\n<p>\u0421\u0432\u0435\u0436\u0430\u044f \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b. \u0412 \u0432\u044b\u043f\u0443\u0441\u043a\u0435: PHP 7.3 RC2, Codeception 2.5 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u043b\u0438\u0437\u044b, \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 PHP 7.4, \u043a\u043e\u043d\u0446\u0435\u043f\u0442 \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043a\u043e\u0434\u0430 \u043e\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0421\u0442\u043e\u0433\u043e\u0432\u0430, \u043f\u043e\u0440\u0446\u0438\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435.<br \/>  \u041f\u0440\u0438\u044f\u0442\u043d\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f!<\/p>\n<p>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-290135","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/290135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=290135"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/290135\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=290135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=290135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=290135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}