{"id":313227,"date":"2020-11-16T15:01:55","date_gmt":"2020-11-16T15:01:55","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=313227"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=313227","title":{"rendered":"PHP-\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u2116 192 (2 \u2013 16 \u043d\u043e\u044f\u0431\u0440\u044f 2020)"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><a href=\"https:\/\/habr.com\/ru\/post\/528256\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/de5\/25b\/8b9\/de525b8b9f694ea5a59e120ae5f04cad.jpg\"><\/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: \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 PHP 8.0 \u043f\u0435\u0440\u0435\u0434 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u043b\u0438\u0437\u043e\u043c \u0438 \u0441\u0432\u0435\u0436\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e PHP 8, RFC \u0438 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0438\u0437 PHP Internals, \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, \u0441\u0442\u0440\u0438\u043c\u044b, \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u044b, \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  \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><strong><a href=\"https:\/\/www.php.net\/archive\/2020.php#2020-11-12-1\" rel=\"nofollow\">PHP 8.0 RC 4<\/a><\/strong> \u2014 \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u043f\u0435\u0440\u0435\u0434 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u043c PHP 8, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043c\u0435\u0447\u0435\u043d \u043d\u0430 26 \u043d\u043e\u044f\u0431\u0440\u044f.\n<p>  \u0421\u0432\u0435\u0436\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e PHP 8:   <\/p>\n<ul>\n<li>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e\u0441\u0442\u043e\u0432 \u043e\u0442 Larry Garfield: <a href=\"https:\/\/platform.sh\/blog\/2020\/php-8-0-feature-focus-attributes\/\" rel=\"nofollow\">\u043f\u0440\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b<\/a> \u0438 <a href=\"https:\/\/platform.sh\/blog\/2020\/php-80-feature-focus-constructor-property-promotion\/\" rel=\"nofollow\">\u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435<\/a>.<\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/webt\/qz\/or\/43\/qzor43-o-hxqow_k8lsqlmniblm.png\" width=\"14\"> <a href=\"https:\/\/spatie.be\/videos\/front-line-php\" rel=\"nofollow\">\u0412\u0438\u0434\u0435\u043e\u043a\u0443\u0440\u0441 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0444\u0438\u0447\u0430\u043c PHP 8 \u043e\u0442 Spatie<\/a>.<\/li>\n<li>\u0412 PHP 8 <a href=\"https:\/\/php.watch\/versions\/8.0\/fatal-error-suppression\" rel=\"nofollow\">\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 `@` \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u0442\u044c \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438<\/a>, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u0448\u0438\u0431\u043a\u0438 \u0442\u0438\u043f\u043e\u0432: <code>E_ERROR<\/code>, <code>E_CORE_ERROR<\/code>, <code>E_COMPILE_ERROR<\/code>, <code>E_USER_ERROR<\/code>, <code>E_RECOVERABLE_ERROR<\/code>, <code>E_PARSE<\/code>.<\/li>\n<li><a href=\"https:\/\/php.watch\/articles\/practical-weakmap\" rel=\"nofollow\">\u041e WeakMap \u0432 PHP 8 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f<\/a>.<\/li>\n<li><a href=\"https:\/\/stitcher.io\/blog\/php-8-jit-setup\" rel=\"nofollow\">\u041a\u0430\u043a \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c JIT \u0432 PHP 8<\/a>.<\/li>\n<\/ul>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 PHP 8 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0443\u0434\u0430\u043b\u0435\u043d PECL. \u0418\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u043e\u043c\u0430\u0442\u044c\u0441\u044f Dockerfile, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u0412\u043c\u0435\u0441\u0442\u043e PECL \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/github.com\/FriendsOfPHP\/pickle\" rel=\"nofollow\">FriendsOfPHP\/pickle<\/a>. <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <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=\"plaintext\">RUN curl -L -o \/tmp\/pickle.phar https:\/\/github.com\/FriendsOfPHP\/pickle\/releases\/latest\/download\/pickle.phar; \\     mv \/tmp\/pickle.phar \/usr\/local\/bin\/pickle; \\     chmod +x \/usr\/local\/bin\/pickle; \\     pickle install xdebug; \\  RUN echo &quot;extension=xdebug.so&quot; &gt;&gt; $PHP_INI_DIR\/conf.d\/php.ini; \\ <\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u0442\u0430\u043a: <\/p>\n<pre><code class=\"plaintext\">RUN mkdir -p \/usr\/src\/php\/ext\/xdebug &amp;&amp; \\     curl -fsSL https:\/\/pecl.php.net\/get\/xdebug | \\     tar xvz -C &quot;\/usr\/src\/php\/ext\/xdebug&quot; --strip 1 &amp;&amp; docker-php-ext-install xdebug <\/code><\/pre>\n<\/div><\/div>\n<p>  <\/li>\n<li><strong><a href=\"https:\/\/phpcommunity.ru\/\" rel=\"nofollow\">phpcommunity.ru<\/a><\/strong> \u2014 PHP-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438, \u0411\u0435\u043b\u0430\u0440\u0443\u0441\u0438, \u0423\u043a\u0440\u0430\u0438\u043d\u0435.<br \/> \n<ul>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/527156\/\">\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 30, MySQL vs Postgres \u0438 \u043a\u0430\u043a \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u0432 \u0441\u0443\u0431\u0431\u043e\u0442\u0443<\/a>.<\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/526146\/\">\u041a\u0430\u043a \u043e\u0431\u0441\u0442\u043e\u044f\u0442 \u0434\u0435\u043b\u0430 \u0441 PHP \u0432 \u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440\u0435 (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e)<\/a>.<\/li>\n<\/ul>\n<p>   \u0411\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0435 \u043c\u0438\u0442\u0430\u043f\u044b: <a href=\"https:\/\/oez-innopolis.timepad.ru\/event\/1471081\/\" rel=\"nofollow\">PHP-\u043c\u0438\u0442\u0430\u043f \u0418\u043d\u043d\u043e\u043f\u043e\u043b\u0438\u0441 \u043e\u043d\u043b\u0430\u0439\u043d, 19 \u043d\u043e\u044f\u0431\u0440\u044f<\/a>; <a href=\"https:\/\/simbirsoft.timepad.ru\/event\/1467649\/\" rel=\"nofollow\">Online-\u043c\u0438\u0442\u0430\u043f \u043f\u043e PHP \u043e\u0442 SimbirSoft, 20 \u043d\u043e\u044f\u0431\u0440\u044f<\/a>.   <\/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\/closure_self_reference\" rel=\"nofollow\">[Draft] Closure self reference<\/a> \u2014 \u0420\u0430\u043d\u043d\u0438\u0439 \u0447\u0435\u0440\u043d\u043e\u0432\u0438\u043a \u043d\u0430 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0438. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0432 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f\u0445 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0441\u0435\u0432\u0434\u043e\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <code>$lambda<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0430\u043c\u043e \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435. \u041f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 <code>$this<\/code> \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432.\n<pre><code class=\"php\">$fibonacci = function (int $n) use (&amp;$fibonacci) {     if ($n === 0) return 0;     if ($n === 1) return 1;     return $fibonacci($n-1) + $fibonacci($n-2); };  \/\/ =&gt;  $fibonacci = function (int $n) {     if ($n === 0) return 0;     if ($n === 1) return 1;     return $lambda($n-1) + $lambda($n-2); }; <\/code><\/pre>\n<\/li>\n<li><a href=\"https:\/\/github.com\/adsr\/php-src\/commit\/07bb24243022ccef5823f6977d231f3535a48a07\" rel=\"nofollow\">[PR] Support for &lt;func&gt;::function syntax<\/a> \u2014 \u041a\u043e\u043d\u0446\u0435\u043f\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 <code>::function<\/code> (\u0438\u043b\u0438 <code>::fn<\/code>) \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0430 \u0438 \u0438\u043c\u0435\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 <code>::class<\/code>. \u041f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u043d\u044c\u0448\u0435 \u0438 \u0438\u043c\u0435\u0435\u0442 <a href=\"https:\/\/externals.io\/message\/112201#112212\" rel=\"nofollow\">\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b<\/a>, \u043d\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u043e.<\/li>\n<li><a href=\"https:\/\/externals.io\/message\/112209\" rel=\"nofollow\">[Discussion] Alias for `int|float`<\/a> \u2014 \u041e\u0431\u0441\u0443\u0436\u0434\u0430\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c <code>number<\/code> \u0438\u043b\u0438 <code>numeric<\/code> \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 <code>int | float<\/code>. \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0443\u043a\u0430\u0437\u0430\u043b\u0438, \u0447\u0442\u043e \u0443\u0436 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0437\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u0430\u043b\u0438\u0430\u0441\u044b \u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432 \u043a\u0430\u043a \u0432 TypeScript: <code>type Number = Foo|Bar;<\/code>.<\/li>\n<\/ul>\n<p>  <\/p>\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\/mnavarrocarter\/php-fetch\" rel=\"nofollow\">mnavarrocarter\/php-fetch<\/a> \u2014 \u041f\u043e\u0440\u0442 fetch WebApi \u043d\u0430 PHP \u0431\u0435\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u041b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u044b\u0439 HTTP-\u043a\u043b\u0438\u0435\u043d\u0442 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <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\">use function MNC\\Http\\fetch;  $response = fetch('https:\/\/habr.com');  echo $response-&gt;status()-&gt;code();   \/\/ 200  echo buffer($response-&gt;body()); \/\/ or while (($chunk = $response-&gt;body()-&gt;read()) !== null) {     echo $chunk; } <\/code><\/pre>\n<\/div><\/div>\n<\/li>\n<li><a href=\"https:\/\/github.com\/themsaid\/ibis\" rel=\"nofollow\">themsaid\/ibis<\/a> \u2014 \u041f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0443\u044e \u043a\u043d\u0438\u0433\u0443 \u0432 PDF \u0438\u0437 markdown-\u0444\u0430\u0439\u043b\u043e\u0432.<\/li>\n<li><a href=\"https:\/\/github.com\/i582\/phpstats\" rel=\"nofollow\">i582\/phpstats<\/a> \u2014 \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u043a\u043e\u0434\u0430 \u0438 \u0433\u0440\u0430\u0444\u043e\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f PHP. \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043d\u0430 \u0431\u0430\u0437\u0435 <a href=\"https:\/\/github.com\/VKCOM\/noverify\" rel=\"nofollow\">VKCOM\/noverify<\/a>, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 Go.<\/li>\n<li><a href=\"https:\/\/github.com\/mihaeu\/dephpend\" rel=\"nofollow\">mihaeu\/dephpend<\/a> \u2014 \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043f\u0443\u0442\u0435\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043a\u043b\u0430\u0441\u0441\u043e\u0432.<\/li>\n<li><a href=\"https:\/\/github.com\/httpsoft\/http-message\" rel=\"nofollow\">httpsoft\/http-message<\/a> \u2014 \u0421\u0442\u0440\u043e\u0433\u0430\u044f \u0438 \u0431\u044b\u0441\u0442\u0440\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 <a href=\"https:\/\/pronskiy.com\/php-digest\/?q=PSR-7\" rel=\"nofollow\">#PSR-7<\/a> \u0438 <a href=\"https:\/\/pronskiy.com\/php-digest\/?q=PSR-17\" rel=\"nofollow\">#PSR-17<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/spatie\/crypto\" rel=\"nofollow\">spatie\/crypto<\/a> \u2014 \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043e\u0431\u0435\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 openssl \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e\/\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u0412\u0432\u043e\u0434\u043d\u044b\u0439 <a href=\"https:\/\/freek.dev\/1829-encrypting-and-signing-data-using-privatepublic-keys-in-php\" rel=\"nofollow\">\u043f\u043e\u0441\u0442<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/icanhazstring\/systemctl-php\" rel=\"nofollow\">icanhazstring\/systemctl-php<\/a> \u2014 PHP-\u043e\u0431\u0435\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 systemctl.<\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/96b\/65e\/921\/96b65e92179a40f2bd1884549973ddd5.png\" width=\"16\"> Symfony<\/h3>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"ru\" src=\"https:\/\/habrastorage.org\/webt\/v2\/r1\/ak\/v2r1ake6qijxftbralm4knou9ck.png\" width=\"12\"> <a href=\"https:\/\/phpprofi.ru\/blogs\/post\/106\" rel=\"nofollow\">Symfony Panther: PHP-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446<\/a>.<\/li>\n<li><a href=\"https:\/\/symfony.com\/blog\/symfony-5-2-curated-new-features\" rel=\"nofollow\">\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0432 Symfony 5.2 <\/a>.<\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/webt\/qz\/or\/43\/qzor43-o-hxqow_k8lsqlmniblm.png\" width=\"14\"> <a href=\"https:\/\/www.youtube.com\/playlist?list=PLQH1-k79HB39w7dmGtLj4JGJ7HoucbcMx\" rel=\"nofollow\">\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0438\u0434\u0435\u043e\u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u043e\u0432 \u043f\u043e Symfony<\/a>.<\/li>\n<li><a href=\"https:\/\/symfony.com\/blog\/a-week-of-symfony-724-9-15-november-2020\" rel=\"nofollow\">\u041d\u0435\u0434\u0435\u043b\u044f Symfony #723 (9-15 \u043d\u043e\u044f\u0431\u0440\u044f 2020)<\/a><\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/314\/bd0\/f0d\/314bd0f0dfc54e3fa7f0c0daef1a2d25.png\" width=\"16\"> Laravel<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/laravel\/breeze\" rel=\"nofollow\">laravel\/breeze<\/a> \u2014 \u041d\u043e\u0432\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u043e\u0442 \u0422\u0435\u0439\u043b\u043e\u0440\u0430. \u041f\u043e \u0441\u0443\u0442\u0438, \u043e\u0434\u043d\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Laravel + Tailwind CSS + \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. <img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/webt\/qz\/or\/43\/qzor43-o-hxqow_k8lsqlmniblm.png\" width=\"14\"> <a href=\"https:\/\/www.youtube.com\/watch?v=dofUcI1PkUA\" rel=\"nofollow\">\u0412\u0438\u0434\u0435\u043e\u043e\u0431\u0437\u043e\u0440 \u043f\u0430\u043a\u0435\u0442\u0430<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/spatie\/laravel-settings\" rel=\"nofollow\">spatie\/laravel-settings<\/a> \u2014 \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0441\u0442\u0438\u043b\u0435. \u0412\u0432\u043e\u0434\u043d\u044b\u0439 <a href=\"https:\/\/freek.dev\/1828-store-strongly-typed-settings-in-a-laravel-app\" rel=\"nofollow\">\u043f\u043e\u0441\u0442<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/ksassnowski\/venture\" rel=\"nofollow\">ksassnowski\/venture<\/a> \u2014 \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0447\u0435\u0440\u0435\u0434\u0435\u0439 Laravel.<\/li>\n<li><img decoding=\"async\" alt=\"audio\" src=\"https:\/\/habrastorage.org\/webt\/d1\/ma\/lh\/d1malhabo7kf3wgh3xm03mcgdim.png\" width=\"12\"> <a href=\"https:\/\/laravelpodcast.simplecast.com\/episodes\/the-service-container-with-christoph-rumpel\" rel=\"nofollow\">Laravel Podcast S4:E17<\/a> \u2014 C Christoph Rumpel \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Laravel.<\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/webt\/qz\/or\/43\/qzor43-o-hxqow_k8lsqlmniblm.png\" width=\"14\"> \u0421\u0442\u0440\u0438\u043c <a href=\"https:\/\/www.youtube.com\/watch?v=X3fmQ5Rs9GY\" rel=\"nofollow\">\u043e\u0431 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 spatie\/laravel-event-sourcing \u043d\u0430 PHP 8<\/a>.<\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/webt\/qz\/or\/43\/qzor43-o-hxqow_k8lsqlmniblm.png\" width=\"14\"> <a href=\"https:\/\/www.youtube.com\/watch?v=o5WJIS9yWCo\" rel=\"nofollow\">\u041e\u0431\u0437\u043e\u0440 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Laravel Idea<\/a> \u0434\u043b\u044f PhpStorm.<\/li>\n<li><img decoding=\"async\" alt=\"ru\" src=\"https:\/\/habrastorage.org\/webt\/v2\/r1\/ak\/v2r1ake6qijxftbralm4knou9ck.png\" width=\"12\"> <a href=\"https:\/\/habr.com\/ru\/post\/526934\/\">Laravel\u2013\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 (2\u20138 \u043d\u043e\u044f\u0431\u0440\u044f 2020)<\/a><\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/569\/de4\/298\/569de4298b764a33894aa517e74324f9.png\" width=\"16\"> Yii<\/h3>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/webt\/-u\/wa\/el\/-uwael5b7b4s2zu-db-7p8iytxg.png\" width=\"12\"> <a href=\"https:\/\/habr.com\/ru\/post\/527634\/\">\u041d\u043e\u0432\u043e\u0441\u0442\u0438 Yii 2020, \u0432\u044b\u043f\u0443\u0441\u043a 7<\/a> \u2014 \u0420\u0435\u043b\u0438\u0437\u044b Yii 2, \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u043f\u043e Yii 3, \u0432\u0430\u0436\u043d\u044b\u0435 \u0432\u0435\u0441\u0442\u0438 \u043e Yii 1 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438.<\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/73\/2r\/pq\/732rpqll-yvu0hrtaw6yeism-de.png\" width=\"20\"> Async PHP<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/clue\/reactphp-term\" rel=\"nofollow\">clue\/reactphp-term<\/a> \u2014 \u041f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0439 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430.<\/li>\n<li><a href=\"https:\/\/github.com\/clue\/reactphp-utf8\" rel=\"nofollow\">clue\/reactphp-utf8<\/a> \u2014 \u041f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440 UTF-8.<\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" alt=\"phpstorm\" src=\"https:\/\/habrastorage.org\/webt\/cn\/3y\/33\/cn3y337tr5ajy5sodieo3elcl2k.png\" width=\"20\"> PhpStorm<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/phpstorm\/2020\/11\/phpstorm-2020-3-eap-6\/\" rel=\"nofollow\">PhpStorm 2020.3 EAP #6<\/a> \u2014 \u0412 \u0440\u0430\u043d\u043d\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Tailwind CSS \u0438 Xdebug 3.<\/li>\n<li><a href=\"https:\/\/twitter.com\/i\/events\/1268886882013917184\" rel=\"nofollow\">\u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u0442\u0440\u044e\u043a\u043e\u0432 \u0438 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e PhpStorm \u0432 \u0442\u0432\u0438\u0442\u0430\u0445<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/inxilpro\/IntellijAlpine\" rel=\"nofollow\">IntelliJ \u043f\u043b\u0430\u0433\u0438\u043d \u0434\u043b\u044f Alpine.js<\/a> \u2014 \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0430\u0432\u0442\u043e\u043a\u043e\u043c\u043f\u043b\u0438\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432.<\/li>\n<li><a href=\"https:\/\/plugins.jetbrains.com\/plugin\/15291-elephpant-progress-bar\" rel=\"nofollow\">Elephpant Progress Bar<\/a> \u2014 \u0417\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u0431\u0430\u0440\u044b \u043d\u0430 \u0441\u043b\u043e\u043d\u0438\u043a\u0430.<br \/>   <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/341\/af3\/960\/341af3960a8f7be5dfcce9d653223c63.gif\" width=\"300\"><\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/329\/bec\/7c1\/329bec7c1e914963a1c5d2f2bfe99995.png\" width=\"20\"> \u0420\u0430\u0437\u043d\u043e\u0435<\/h3>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/webt\/-u\/wa\/el\/-uwael5b7b4s2zu-db-7p8iytxg.png\" width=\"12\"> <a href=\"https:\/\/habr.com\/ru\/company\/vk\/blog\/527420\/\">\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435 \u0441\u043d\u043e\u0432\u0430 \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442<\/a> <a href=\"https:\/\/github.com\/vkcom\/kphp\" rel=\"nofollow\">VKCOM\/kphp<\/a> \u2014 \u0420\u0435\u0431\u044f\u0442\u0430 \u0438\u0437 \u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435 \u0437\u0430\u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u0438\u043b\u0438 \u0441\u0432\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 PHP. \u041a\u043e\u0440\u043e\u0442\u043a\u043e \u0431\u044b\u043b\u043e <a href=\"https:\/\/t.me\/phpdigest\/193\" rel=\"nofollow\">\u0432 \u043a\u0430\u043d\u0430\u043b\u0435<\/a>, \u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 <a href=\"https:\/\/habr.com\/ru\/company\/vk\/blog\/527420\/\">\u0430\u043d\u043e\u043d\u0441\u0435 \u043d\u0430 \u0425\u0430\u0431\u0440\u0435<\/a>.<\/li>\n<li><a href=\"https:\/\/blog.logrocket.com\/coding-in-php-7-4-and-deploying-to-7-1-via-rector-and-github-actions\/\" rel=\"nofollow\">\u041a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0430 PHP 7.4 \u0438 \u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u043d\u0430 PHP 7.1<\/a> \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/github.com\/rectorphp\/rector\/\" rel=\"nofollow\">rectorphp\/rector<\/a> GitHub Actions. \u041a\u043e\u0433\u0434\u0430 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u0447\u0438 \u044f\u0437\u044b\u043a\u0430, \u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438.<\/li>\n<li><a href=\"https:\/\/psalm.dev\/articles\/php-8-attributes\" rel=\"nofollow\">\u041e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 PHP 8 \u0432 Psalm<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/php-fig-rectified\/fig-rectified-standards\" rel=\"nofollow\">php-fig-rectified\/fig-rectified-standards<\/a> \u2014 \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0441\u0434\u0435\u043b\u0430\u043d <a href=\"https:\/\/github.com\/php-fig-rectified\/fig-rectified-standards\/blob\/master\/PSR-2-R-coding-style-guide.md\" rel=\"nofollow\">PSR-2-R<\/a> \u0441 \u0442\u0430\u0431\u0430\u043c\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 \u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0441 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u0435\u0439.<\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/8dc\/c23\/677\/8dcc236774104f8286a40ceaea553820.png\" width=\"20\"> \u0410\u0443\u0434\u0438\u043e\/\u0412\u0438\u0434\u0435\u043e<\/h3>\n<p>  <\/p>\n<ul>\n<li><strong>PHP Internals News<\/strong> \u2014 \u043f\u043e\u0434\u043a\u0430\u0441\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c Derick Rethans (Xdebug) \u0431\u0435\u0440\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0443 \u0430\u0432\u0442\u043e\u0440\u043e\u0432 RFC.<br \/> \n<ul>\n<li><img decoding=\"async\" alt=\"audio\" src=\"https:\/\/habrastorage.org\/webt\/d1\/ma\/lh\/d1malhabo7kf3wgh3xm03mcgdim.png\" width=\"12\"> <a href=\"https:\/\/phpinternals.news\/69\" rel=\"nofollow\">Episode 69: Short Functions<\/a> \u2014 C <a href=\"https:\/\/twitter.com\/crell\" rel=\"nofollow\">Larry Garfield<\/a> \u043f\u0440\u043e <a href=\"https:\/\/wiki.php.net\/rfc\/short-functions\" rel=\"nofollow\">\u043e\u0434\u043d\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \/ \u043c\u0435\u0442\u043e\u0434\u044b<\/a>.<\/li>\n<li><img decoding=\"async\" alt=\"audio\" src=\"https:\/\/habrastorage.org\/webt\/d1\/ma\/lh\/d1malhabo7kf3wgh3xm03mcgdim.png\" width=\"12\"> <a href=\"https:\/\/phpinternals.news\/70\" rel=\"nofollow\">Episode 70: Explicit Octal Literal<\/a> \u2014 C <a href=\"https:\/\/twitter.com\/Girgias\" rel=\"nofollow\">George Peter Banyard<\/a> \u043f\u0440\u043e \u0437\u0430\u043f\u0438\u0441\u044c <a href=\"https:\/\/wiki.php.net\/rfc\/explicit_octal_notation\" rel=\"nofollow\">\u0432\u043e\u0441\u044c\u043c\u0435\u0440\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 PHP<\/a>.<\/li>\n<\/ul>\n<p>   <\/li>\n<li><img decoding=\"async\" alt=\"audio\" src=\"https:\/\/habrastorage.org\/webt\/d1\/ma\/lh\/d1malhabo7kf3wgh3xm03mcgdim.png\" width=\"12\"> <a href=\"https:\/\/anchor.fm\/ontico\/episodes\/ep-em0h40\" rel=\"nofollow\">\u041e\u041d\u0422\u0418\u041a\u041e \u043f\u043e\u0434\u043a\u0430\u0441\u0442<\/a> \u2014 \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u0432 \u0433\u043e\u0441\u0442\u044f\u0445 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u041c\u0430\u043a\u0430\u0440\u043e\u0432.<\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/webt\/qz\/or\/43\/qzor43-o-hxqow_k8lsqlmniblm.png\" width=\"14\"> PHPBenelux Virtual Meetup: <a href=\"https:\/\/youtu.be\/XKjiAWxwFR0?t=1643\" rel=\"nofollow\">Damien Seguy \u2014 Modernize your PHP with Exakat<\/a>, <a href=\"https:\/\/youtu.be\/XKjiAWxwFR0?t=6392\" rel=\"nofollow\">Wim Godden \u2014 Why and How of moving to PHP 8<\/a>.<\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/webt\/qz\/or\/43\/qzor43-o-hxqow_k8lsqlmniblm.png\" width=\"14\"> <a href=\"https:\/\/www.youtube.com\/watch?v=BFJe-uxB_Nk\" rel=\"nofollow\">\u041e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0434\u0435\u0432-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f PHP \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Docker Compose<\/a>.<\/li>\n<li><img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/webt\/qz\/or\/43\/qzor43-o-hxqow_k8lsqlmniblm.png\" width=\"14\"><img decoding=\"async\" alt=\"ru\" src=\"https:\/\/habrastorage.org\/webt\/v2\/r1\/ak\/v2r1ake6qijxftbralm4knou9ck.png\" width=\"12\"> \u041c\u0438\u0442\u0430\u043f \u00ab\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b PHP\u00bb: <a href=\"https:\/\/youtu.be\/MuVMe7oMoyM?t=160\" rel=\"nofollow\">\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u041c\u0430\u043a\u0430\u0440\u043e\u0432 \u2013 Yii: \u0443\u0440\u043e\u043a\u0438 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0438 \u0431\u0443\u0434\u0443\u0449\u0435\u0435<\/a>, <a href=\"https:\/\/youtu.be\/MuVMe7oMoyM?t=3419\" rel=\"nofollow\">\u0410\u043d\u0442\u043e\u043d \u0422\u0438\u0442\u043e\u0432 \u2013 Cycle ORM \u0438 \u0433\u0440\u0430\u0444\u044b<\/a>, <a href=\"https:\/\/youtu.be\/MuVMe7oMoyM?t=5872\" rel=\"nofollow\">\u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u0415\u043b\u0438\u0441\u0435\u0435\u0432 \u2014 \u0412\u044b\u0431\u043e\u0440 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u0434\u043b\u044f \u0435\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437\u0430<\/a>.<\/li>\n<\/ul>\n<p>  <\/p>\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:\/\/www.vincentpontier.com\/elephpant\/\" rel=\"nofollow\">vincentpontier.com\/elephpant\/<\/a> \u2014 \u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u0441\u043b\u043e\u043d\u0438\u043a\u043e\u0432 \u0441\u043d\u043e\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d! \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043a\u0430\u0437\u0430\u0442\u044c \u0440\u043e\u0437\u043e\u0432\u043e\u0433\u043e \u0438 \u0441\u0438\u043d\u0435\u0433\u043e.<\/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\/\" rel=\"nofollow\">\u043b\u0438\u0447\u043a\u0443 \u0445\u0430\u0431\u0440\u0430<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/t.me\/pronskiy\" rel=\"nofollow\">\u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c<\/a>.  <\/p>\n<blockquote><p> \u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439 \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0432 Telegram-\u043a\u0430\u043d\u0430\u043b\u0435 <strong><a href=\"https:\/\/t.me\/phpdigest\" rel=\"nofollow\">PHP Digest<\/a><\/strong>.   <\/p><\/blockquote>\n<p>   <a href=\"https:\/\/bit.ly\/php-digest-add-link\" rel=\"nofollow\">\u041f\u0440\u0438\u0441\u043b\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443<\/a><br \/>   <a href=\"https:\/\/pronskiy.com\/php-digest\/\" rel=\"nofollow\">\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\/ru\/post\/526098\/\">\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 191<\/a><\/div>\n<p> \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\/ru\/post\/528256\/\"> https:\/\/habr.com\/ru\/post\/528256\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><a href=\"https:\/\/habr.com\/ru\/post\/528256\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/de5\/25b\/8b9\/de525b8b9f694ea5a59e120ae5f04cad.jpg\"><\/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: \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 PHP 8.0 \u043f\u0435\u0440\u0435\u0434 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u043b\u0438\u0437\u043e\u043c \u0438 \u0441\u0432\u0435\u0436\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e PHP 8, RFC \u0438 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0438\u0437 PHP Internals, \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, \u0441\u0442\u0440\u0438\u043c\u044b, \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u044b, \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  \u041f\u0440\u0438\u044f\u0442\u043d\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f!<\/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-313227","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/313227","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=313227"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/313227\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=313227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=313227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=313227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}