{"id":224855,"date":"2014-06-02T02:53:03","date_gmt":"2014-06-01T22:53:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=224855"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=224855","title":{"rendered":"<span class=\"post_title\">\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439 \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0438\u0437 \u043c\u0438\u0440\u0430 PHP \u2116 41 (\u043c\u0430\u0439 2014)<\/span>"},"content":{"rendered":"<div class=\"content html_format\">     \t<img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/c63\/18a\/fbd\/c6318afbd03c4702809c2ec845b82b20.jpg\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u0430 PHP-\u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0441\u043d\u043e\u0432\u0430 \u0432 \u0434\u0435\u043b\u0435! \u0412\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \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.<\/p>\n<p>  \u041f\u0440\u0438\u044f\u0442\u043d\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f!<br \/>  <a name=\"habracut\"><\/a><\/p>\n<h3><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/2c2\/dc4\/7b7\/2c2dc47b7392be6229301759f5b4011a.png\"\/> \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:\/\/www.php.net\/archive\/2014.php#id2014-05-27-1\">PHPNG<\/a> &mdash; \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 PHP \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f. \u0410 \u0432\u0441\u0435 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u0441 <a href=\"http:\/\/habrahabr.ru\/post\/222219\/\">\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0421\u0442\u043e\u0433\u043e\u0432\u0430 \u0432 php.internals<\/a> <img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0432\u0435\u0442\u043a\u0438 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438. \u0410\u043d\u0430\u043b\u0438\u0437\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432 \u043c\u0435\u0442\u043e\u0434\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 PHPNG \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 Zend Engine, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b <a href=\"https:\/\/wiki.php.net\/phpng-int\">\u043d\u043e\u0432\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/a>. \u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433 \u0443\u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430 10-30% \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, PHPNG \u043b\u044f\u0436\u0435\u0442 \u0432 \u043e\u0441\u043d\u043e\u0432\u0443 PHP 5++, \u0430 \u043f\u043e\u043a\u0430 \u044d\u0442\u043e \u043b\u0438\u0448\u044c \u043d\u0430\u0447\u0430\u043b\u043e \u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u043e.<br \/>   \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e PHPNG \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u0443\u0441\u0442 \u0432 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0430\u0432\u0442\u043e\u0440\u0430 \u043d\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u0449\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevConf 2014 \u2013 <a href=\"http:\/\/habrahabr.ru\/company\/devconf\/blog\/223579\/\">\u00ab\u041e\u0442\u0434\u0430\u0439 \u0441\u0432\u043e\u0439 PHP \u043d\u0430 \u043f\u0440\u043e\u043a\u0430\u0447\u043a\u0443 \u2014 PHPNG \u2014 \u0434\u0432\u0438\u0436\u043e\u043a \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f\u00bb<\/a> <img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> .<\/li>\n<li>\u0411\u0435\u0442\u0430 \u0440\u0435\u043b\u0438\u0437\u044b PHP 5.6.0: <a href=\"http:\/\/php.net\/index.php#id2014-05-02-1\">beta 2<\/a> \u0438 <a href=\"http:\/\/php.net\/index.php#id2014-05-15-1\">beta 3<\/a> &mdash; \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043d\u0430\u0431\u043e\u0440 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0436\u0434\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u043e\u043b\u0433\u043e. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0431\u0435\u0442\u0430 \u0438 \u043f\u0430\u0440\u0430-\u0442\u0440\u043e\u0439\u043a\u0430 \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432, \u0430 \u043f\u043e\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441\u043e <a href=\"http:\/\/www.sitepoint.com\/new-features-php-5-6\/\">\u0441\u043f\u0438\u0441\u043a\u043e\u043c \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439<\/a> \u0438\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/laracasts.com\/lessons\/whats-new-in-php-5-6\">\u0434\u0435\u0441\u044f\u0442\u0438\u043c\u0438\u043d\u0443\u0442\u043d\u044b\u0439 \u0440\u043e\u043b\u0438\u043a \u0441 \u0438\u0445 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0435\u0439<\/a>.<\/li>\n<li>\u0420\u0435\u043b\u0438\u0437\u044b PHP: <a href=\"http:\/\/www.php.net\/archive\/2014.php#id2014-04-30-1\">5.5.12<\/a>, <a href=\"http:\/\/php.net\/archive\/2014.php#id2014-05-29-3\">5.5.13<\/a>, <a href=\"http:\/\/php.net\/index.php#id2014-05-01-1\">5.4.28<\/a>, <a href=\"http:\/\/php.net\/archive\/2014.php#id2014-05-29-5\">5.4.29<\/a> &mdash; \u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0442\u043e\u043a \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430. \u0421\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0440\u044f\u0434 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043a\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c <a href=\"http:\/\/www.cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2014-0185\">PHP-FPM<\/a>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e, \u0438\u043c\u0435\u044e\u0449\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u043a UNIX-\u0441\u043e\u043a\u0435\u0442\u0443 php-fpm, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u043c\u0443 \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 0666, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 PHP-\u043a\u043e\u0434 \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u0443\u043b\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 FastCGI.<\/li>\n<li><a href=\"https:\/\/blog.heroku.com\/archives\/2014\/4\/29\/introducing_the_new_php_on_heroku\">\u041d\u043e\u0432\u044b\u0439 PHP \u043d\u0430 Heroku<\/a> &mdash; \u041d\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0435\u0439\u0448\u0435\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 Heroku \u0431\u044b\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 HHVM \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e Hack.<\/li>\n<li><img decoding=\"async\" alt=\"ru\" src=\"http:\/\/habrastorage.org\/storage2\/c72\/991\/4ca\/c729914ca9c21661c5abd81052c6a10e.gif\"\/> <a href=\"http:\/\/mooha.net\/\">\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0431\u0435\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f Mooha \u2014 \u043d\u043e\u0434\u043e\u0432\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0434\u043b\u044f PHP<\/a> &mdash; \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443 \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0431\u044b\u043b <a href=\"http:\/\/habrahabr.ru\/post\/201646\/\">\u043f\u043e\u0441\u0442 \u043e\u0431 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Mooha<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0441\u043b\u043e\u0432\u0430\u043c \u0430\u0432\u0442\u043e\u0440\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u043b \u0441\u0442\u0430\u0442\u044c \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u043c PHP-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0422\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432\u0441\u0435\u043c \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u043c.<\/li>\n<li><a href=\"http:\/\/framework.zend.com\/blog\/apigility-1-0-0-released.html\">Apigility 1.0.0<\/a> &mdash; \u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f RESTful-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Zend Framework 2.<\/li>\n<li><a href=\"https:\/\/forge.laravel.com\/\">Laravel Forge<\/a> &mdash; \u041d\u0430 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0439 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Laracon \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 Laravel \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 Forge, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0430\u043c \u0422\u0435\u0439\u043b\u043e\u0440 \u043e\u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043b \u043a\u0430\u043a \u00abPHP-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u043d\u0430 \u0432\u0430\u0448 \u0432\u044b\u0431\u043e\u0440\u00bb. Forge \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432 \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u043c\u0438\u043d\u0443\u0442\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 Nginx 1.6, PHP 5.5, MySQL\/Postgres, Redis, Memcached, Beanstalk \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u043c \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u043c \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0435. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b <a href=\"http:\/\/forgerecipes.com\/\">\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f Forge<\/a>, <a href=\"http:\/\/mattstauffer.co\/blog\/getting-your-first-site-up-and-running-in-laravel-forge\">\u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u044b<\/a>, \u0430 \u0442\u0430\u043a\u0436\u0435 <a href=\"https:\/\/laracasts.com\/series\/server-management-with-forge\">\u0441\u0435\u0440\u0438\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043d\u043a\u0430\u0441\u0442\u043e\u0432 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e Forge<\/a> <img decoding=\"async\" alt=\"video\" src=\"http:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"\/>. \u0417\u0430 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u0442\u044c 10 $ \u0432 \u043c\u0435\u0441\u044f\u0446.<\/li>\n<li><a href=\"http:\/\/symfony.com\/blog\/symfony-2-5-0-released\">\u0420\u0435\u043b\u0438\u0437 Symfony 2.5.0<\/a> &mdash; \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 <a href=\"https:\/\/github.com\/symfony\/symfony\/blob\/master\/CHANGELOG-2.5.md\">\u0442\u0443\u0442<\/a>.<\/li>\n<li><a href=\"http:\/\/devconf.ru\/\">DevConf 2014<\/a> &mdash; \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u0443\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438 \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435. <a href=\"http:\/\/devconf.ru\/offers\/php\">\u0421\u0435\u043a\u0446\u0438\u044f PHP<\/a> \u0440\u0430\u0434\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438 \u0434\u043e\u043a\u043b\u0430\u0434\u0430\u043c\u0438 \u043e phpng, Yii 2, Laravel, AOP, Codeception.<\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/a1b\/ab6\/308\/a1bab630889567e2a5c9bab3290d8310.png\"\/> PHP<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/catchable-call-to-member-of-non-object\">RFC: \u041e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u00abcall to a member function of a non-object\u00bb<\/a> &mdash; \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438, \u0430 \u043d\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u044b\u0435, \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0443 null: <code>$x = null; $x-&gt;method();<\/code><\/li>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/loop_else\">RFC: loop_else<\/a> &mdash; \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0446\u0438\u043a\u043b\u0430\u0445 else-\u0431\u043b\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0446\u0438\u043a\u043b\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0438 \u0440\u0430\u0437\u0443, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438 \u043d\u0435\u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0432 \u0442\u0435\u043b\u043e \u0446\u0438\u043a\u043b\u0430.<\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/ba6\/1d0\/aa9\/ba61d0aa90be53f9f7f44faeabb67e78.gif\"\/> \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/apsdehal\/Link\">Link<\/a> &mdash; \u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u0440\u043e\u0443\u0442\u0435\u0440 \u0434\u043b\u044f PHP.<\/li>\n<li><a href=\"http:\/\/requirephp.org\/\">RequirePHP<\/a> &mdash; \u0412\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0430-\u043b\u044f RequireJS.<\/li>\n<li><a href=\"http:\/\/www.karma-php.com\/\">Karma<\/a> &mdash; \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439.<\/li>\n<li><a href=\"http:\/\/bowerphp.org\/\">BowerPHP<\/a> &mdash; \u0425\u043e\u0442\u0438\u0442\u0435 \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 Bower, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c node.js? BowerPHP \u043a\u0430\u043a \u0440\u0430\u0437 \u0441\u043e\u0437\u0434\u0430\u043d \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432.<\/li>\n<li><a href=\"https:\/\/github.com\/gajus\/dora\">Dora<\/a> &mdash; \u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0444\u043e\u0440\u043c \u0441 \u0440\u044f\u0434\u043e\u043c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439.<\/li>\n<li><a href=\"https:\/\/github.com\/krakjoe\/jitfu\">JIT-Fu<\/a> &mdash; PHP-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 JIT-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f PHP \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 libjit.<\/li>\n<li><a href=\"https:\/\/github.com\/nkt\/yandex-translate\">Yandex Translate API<\/a> &mdash; \u041e\u0431\u043e\u043b\u043e\u0447\u043a\u0430 \u0434\u043b\u044f \u042f\u043d\u0434\u0435\u043a\u0441.\u041f\u0435\u0440\u0435\u0432\u043e\u0434<\/li>\n<li><a href=\"http:\/\/ripeworks.com\/pomander\/\">Pomander<\/a> &mdash; \u0415\u0449\u0435 \u043e\u0434\u0438\u043d PHP-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/li>\n<li><a href=\"https:\/\/github.com\/sebsauvage\/rss-bridge\">rss-bridge<\/a> &mdash; \u0424\u0438\u0434 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0433\u043e \u043d\u0435\u0442: Twitter, GoogleSearch, Instagram, Pinterest \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.<\/li>\n<li><a href=\"https:\/\/github.com\/thephpleague\/monga\">Monga<\/a> &mdash; \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0441\u043b\u043e\u0439 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 MongoDB.<\/li>\n<li><a href=\"https:\/\/github.com\/patrikf\/glip\">glip<\/a> &mdash; Git-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f PHP, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044e \u0438\u0437 PHP \u0434\u0430\u0436\u0435 \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e Git.<\/li>\n<li><a href=\"https:\/\/github.com\/atoum\/atoum\">atoum<\/a> &mdash; \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f PHP.<\/li>\n<li><a href=\"https:\/\/github.com\/rezzza\/TimeTraveler\">TimeTraveler<\/a> &mdash; \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0434\u0430\u0442\u0443 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u0435\u043d\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u0441\u0435\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u0442\u043e\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c.<\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/a93\/d41\/07f\/a93d4107f28f667a4c3336347ef78774.png\"\/> \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><a href=\"https:\/\/www.adayinthelifeof.nl\/2014\/05\/28\/throttle-your-api-calls-ratelimitbundle\">\u0417\u0430\u0434\u0443\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0438 API \u0432\u044b\u0437\u043e\u0432\u044b: RateLimitBundle<\/a> &mdash; \u0410\u0432\u0442\u043e\u0440 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b \u0431\u0430\u043d\u0434\u043b \u0434\u043b\u044f Symfony <a href=\"https:\/\/github.com\/jaytaph\/RateLimitBundle\">RateLimitBundle<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0430 API, \u0443\u043a\u0430\u0437\u0430\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0432 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438 <code>@ratelimit<\/code> \u043a \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 \u0438\u043b\u0438 \u044d\u043a\u0448\u043d\u0443. \u0412 \u043f\u043e\u0441\u0442\u0435 \u043e\u0431 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043f\u043b\u044e\u0441\u0430\u0445 \u0438 \u043c\u0438\u043d\u0443\u0441\u0430\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f.<\/li>\n<li><a href=\"http:\/\/www.phpclasses.org\/blog\/package\/7700\/post\/4-Is-Your-OAuth-20-Application-Secure.html\">\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u043b\u0438 \u0432\u0430\u0448\u0435 OAuth 2.0 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/a> &mdash; \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e \u043d\u0430\u0448\u0443\u043c\u0435\u0432\u0448\u0435\u0439 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f (covert redirect) \u0432 OAuth \u0438 OpenID.<\/li>\n<li><a href=\"http:\/\/gonzalo123.com\/2014\/05\/05\/token-based-authentication-with-silex-applications\/\">\u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0442\u043e\u043a\u0435\u043d\u043e\u043c \u0432 Silex-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/a><\/li>\n<li><a href=\"http:\/\/www.sitepoint.com\/series\/using-solarium-for-solr-search\/\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Solarium \u0438 SOLR \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430<\/a><\/li>\n<li><a href=\"http:\/\/www.masterzendframework.com\/sessions\/using-sessions-in-zend-framework-2-part-1\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0439 \u0432 Zend Framework 2<\/a>, <a href=\"http:\/\/www.masterzendframework.com\/sessions\/using-sessions-zend-framework-2-part-2\">\u0447.2<\/a> &mdash; \u0422\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445.<\/li>\n<li><a href=\"https:\/\/blog.engineyard.com\/2014\/bats-test-command-line-tools\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Bats \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<\/a> &mdash; \u041d\u0435 PHP, \u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043e\u0431\u0437\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f <a href=\"https:\/\/github.com\/sstephenson\/bats\">Bats<\/a>.<\/li>\n<li><a href=\"http:\/\/www.sitepoint.com\/use-jsonserializable-interface\/\">\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 JsonSerializable<\/a><\/li>\n<li><a href=\"http:\/\/gnugat.github.io\/2014\/04\/23\/sf2-sessions-introduction.html\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0441\u0435\u0441\u0441\u0438\u0438 \u0432 Symfony2<\/a><\/li>\n<li><a href=\"http:\/\/code.tutsplus.com\/tutorials\/refactoring-legacy-code-part-3-complex-conditionals-long-methods--cms-20944\">\u0420\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433 \u043b\u0435\u0433\u0430\u0441\u0438-\u043a\u043e\u0434\u0430: \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f<\/a><\/li>\n<li><a href=\"http:\/\/seld.be\/notes\/authentication-management-in-composer\">\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0432 Composer<\/a> &mdash; \u0412 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u043c \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u043c\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438.<\/li>\n<li><a href=\"http:\/\/www.sitepoint.com\/series\/ironmq-and-laravel\/\">IronMQ \u0438 Laravel<\/a> &mdash; \u0422\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430\u0434\u0430\u0447.<\/li>\n<li><img decoding=\"async\" alt=\"ru\" src=\"http:\/\/habrastorage.org\/storage2\/c72\/991\/4ca\/c729914ca9c21661c5abd81052c6a10e.gif\"\/> <a href=\"http:\/\/laravel.ru\/articles\/odd_bod\/session-auth-cache\">\u0412\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u043c Laravel: \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b Session, Auth \u0438 Cache<\/a><\/li>\n<li><a href=\"http:\/\/www.leaseweblabs.com\/2014\/05\/how-to-use-yield-keyword-php\">\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u00abyield\u00bb \u0432 PHP 5.5<\/a> &mdash; \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u0445 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c.<\/li>\n<li><a href=\"http:\/\/code.tutsplus.com\/tutorials\/getting-started-with-phpspec--cms-20919\">\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Phpspec<\/a><\/li>\n<li><a href=\"http:\/\/jcowie.co.uk\/blog\/magento-phpspec\/\">PHPSpec \u0438 Magento<\/a> &mdash; \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c SpecBDD-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f PHP \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 Magento.<\/li>\n<li><a href=\"http:\/\/www.sitepoint.com\/magento-basics-request-flow-standards-best-practices\/\">Magento: \u043e\u0441\u043d\u043e\u0432\u044b, \u0446\u0438\u043a\u043b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b \u0438 \u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438<\/a><\/li>\n<li><a href=\"http:\/\/hhvm.com\/blog\/4811\/hack-community-roundup\">\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e Hack<\/a> &mdash; \u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 Hack \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0430 \u0443\u0436\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 <a href=\"https:\/\/wiki.pocketrent.com\/beatbox\/start\">BeatBox<\/a> \u0438 <a href=\"https:\/\/github.com\/esokullu\/hack-mvc\">hack-mvc<\/a><\/li>\n<li><a href=\"http:\/\/www.sitepoint.com\/time-complexity-algorithms\/\">\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432<\/a> &mdash; \u041e\u0431 \u043e\u0446\u0435\u043d\u043a\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u043d\u0430 PHP.<\/li>\n<li><a href=\"http:\/\/www.sitepoint.com\/php-continuous-integration-travis-ci\/\">PHP \u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Travis CI<\/a><\/li>\n<li><a href=\"http:\/\/www.masterzendframework.com\/zftool-2\/use-zftool-diagnostics-ensure-modules-work\">\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ZFTool Diagnostics, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c \u0432 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438<\/a><\/li>\n<li><a href=\"http:\/\/blog.codacy.com\/2014\/05\/06\/php-static-analysis-tools\/\">\u041e\u0431\u0437\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 PHP-\u043a\u043e\u0434\u0430<\/a> &mdash; \u0412 \u043f\u043e\u0441\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b: <a href=\"http:\/\/pear.php.net\/package\/PHP_CodeSniffer\/\">PHP_CodeSniffer<\/a>, the <a href=\"http:\/\/phpmd.org\/\">PHP Mess Detector<\/a> \u0438 <a href=\"https:\/\/github.com\/sebastianbergmann\/phpcpd\">PHP Copy &amp; Paste Detector<\/a>.<\/li>\n<li><a href=\"http:\/\/www.sitepoint.com\/unit-testing-guzzlephp\">\u041c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e GuzzlePHP<\/a><\/li>\n<li><a href=\"http:\/\/www.rami.me.uk\/how-to-unit-test-code-with-phalcon-mvc-models\">\u041a\u0430\u043a \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 Phalcon<\/a><\/li>\n<li><a href=\"http:\/\/philsturgeon.co.uk\/blog\/2014\/05\/restful-deletions-restorations-and-revisions\">RESTful \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435, \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u0440\u0435\u0432\u0438\u0437\u0438\u0438<\/a> &mdash; \u0412 \u043f\u043e\u0441\u0442\u0435 \u0430\u0432\u0442\u043e\u0440 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435 REST.<\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/company\/pechkin\/blog\/224207\/\">\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0438\u0437 Excel \u043d\u0430 PHP<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/220393\/\">\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c PHP (\u0441 ReactPHP)<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/221521\/\">\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 Php extension \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u0434 Cassandra \u0431\u0435\u0437 Thrift<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/221949\/\">\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e API \u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/221807\/\">\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a 14 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u0445 \u0441 \u0440\u0430\u0437\u043d\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/221893\/\">Sypex Geo 2.2 \u2014 \u0442\u0435\u043f\u0435\u0440\u044c \u0441 GeoNames \u0438 \u041e\u041a\u0410\u0422\u041e<\/a> &mdash; \u041e\u0431\u0437\u043e\u0440 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0433\u043e\u0440\u043e\u0434\u0430 \u043f\u043e IP.<\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/221815\/\">\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u0430\u0439\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Laravel \u0438 Recurly. \u0427\u0430\u0441\u0442\u044c 2<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/224391\/\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 JadePHP<\/a> &mdash; \u041e PHP-\u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0435 JadePHP, \u043f\u043e\u0440\u0442\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e Javascript-\u0434\u0432\u0438\u0436\u043a\u0430 Jade.<\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/224467\/\">\u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 MailCatcher<\/a> &mdash; \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <a href=\"http:\/\/mailcatcher.me\/\">MailCatcher<\/a> \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0432 \u043f\u043e\u0441\u0442\u0435 <a href=\"http:\/\/codeception.com\/12-15-2013\/testing-emails-in-php.html\">\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b \u0432 PHP<\/a>.<\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/224351\/\">\u041e\u043f\u0430\u0441\u043d\u044b\u0439 getimagesize() \u0438\u043b\u0438 Zip Bomb \u0434\u043b\u044f PHP<\/a> &mdash; \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u043e\u043c \u0434\u0432\u0438\u0436\u043a\u0435 \u0444\u043e\u0442\u043e\u0433\u0430\u043b\u0435\u0440\u0435\u0438 \u043d\u0430 PHP \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0441\u0430\u0439\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 getimagesize(), \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043e\u0440\u043e\u0434\u0430\u0442\u043e\u0439 zip-\u0431\u043e\u043c\u0431\u044b (\u0438\u043b\u0438 \u043f\u0435\u0442\u0430-\u0431\u043e\u043c\u0431\u044b).<\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/224199\/\">RESTful API \u043d\u0430 Yii framework \u0441 RBAC \u0438 \u0442\u0435\u0441\u0442\u0430\u043c\u0438<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/224053\/\">\u0410\u0432\u0442\u043e\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Yii<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/222453\/\">25 Laravel Tips and Tricks<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/222305\/\">PHPCI: \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f PHP-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/224709\/\">\u041f\u0438\u0448\u0435\u043c \u0441\u0432\u043e\u044e IDE \u0441\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043d\u0430 PHP \u0438 ExtJS<\/a><\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/be5\/3e4\/256\/be53e4256e771ad12bc412af8b30f91e.gif\"\/> \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b c \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439<\/h3>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"video\" src=\"http:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"\/> <a href=\"https:\/\/www.youtube.com\/user\/PHPSouthAfrica\/videos\">\u0412\u0438\u0434\u0435\u043e\u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u0441 PHP South Africa<\/a><\/li>\n<li><a href=\"https:\/\/joind.in\/event\/view\/1637\/slides#event-tabs\">phpDay 2014<\/a> &mdash; \u0421\u043b\u0430\u0439\u0434\u044b \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u0441 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0439 \u0432 \u0418\u0442\u0430\u043b\u0438\u0438 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438.<\/li>\n<li><a href=\"https:\/\/joind.in\/event\/view\/1706\/slides#event-tabs\">php[tek] 2014<\/a> &mdash; \u0421\u043b\u0430\u0439\u0434\u044b 35 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432.<\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/be5\/3e4\/256\/be53e4256e771ad12bc412af8b30f91e.gif\"\/> \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=\"http:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"\/> <a href=\"http:\/\/code.tutsplus.com\/tutorials\/creating-reusable-forms-in-symfony-2--cms-21244\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0444\u043e\u0440\u043c \u0432 Symfony 2<\/a> &mdash; \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u043a\u0440\u0438\u043d\u043a\u0430\u0441\u0442\u043e\u0432 \u043e Symfony 2. \u0420\u0430\u043d\u0435\u0435 \u0431\u044b\u043b\u0438: <a href=\"http:\/\/code.tutsplus.com\/tutorials\/symfony-2-the-basics--net-37015\">\u043e\u0441\u043d\u043e\u0432\u044b<\/a>, <a href=\"http:\/\/code.tutsplus.com\/tutorials\/routing-overview-basics-in-symfony-2--cms-20754\">\u0440\u043e\u0443\u0442\u0438\u043d\u0433<\/a>, <a href=\"http:\/\/code.tutsplus.com\/tutorials\/working-with-controllers-in-symfony-2--cms-21111\">\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b<\/a> \u0438 <a href=\"http:\/\/code.tutsplus.com\/tutorials\/working-with-templates-in-symfony-2--cms-21172\">\u0448\u0430\u0431\u043b\u043e\u043d\u044b<\/a>.<\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/d4b\/289\/ef0\/d4b289ef0a00e969108c25d0c3d75f58.gif\"\/> \u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/h3>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"habr\" src=\"http:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"http:\/\/habrahabr.ru\/post\/222185\/\">\u0420\u0430\u0441\u0446\u0432\u0435\u0442 Composer \u0438 \u0437\u0430\u043a\u0430\u0442 PEAR<\/a><\/li>\n<\/ul>\n<p>  <a href=\"http:\/\/pronskiy.github.io\/php-digest\/\">\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0432\u0441\u0435\u043c \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430\u043c<\/a><br \/>  \u2190 <a href=\"http:\/\/habrahabr.ru\/company\/zfort\/blog\/221083\/\">\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a<\/a>        \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/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=\"http:\/\/habrahabr.ru\/company\/zfort\/blog\/224855\/\"> http:\/\/habrahabr.ru\/company\/zfort\/blog\/224855\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">     \t<img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/c63\/18a\/fbd\/c6318afbd03c4702809c2ec845b82b20.jpg\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u0430 PHP-\u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0441\u043d\u043e\u0432\u0430 \u0432 \u0434\u0435\u043b\u0435! \u0412\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \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.<\/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-224855","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/224855","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=224855"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/224855\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=224855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=224855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=224855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}