{"id":186150,"date":"2013-07-10T11:00:03","date_gmt":"2013-07-10T07:00:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=186150"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=186150","title":{"rendered":"<span class=\"post_title\">\u0420\u0435\u043b\u0438\u0437 Phalcon 1.2.0<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/4df\/d67\/192\/4dfd67192ca0d2821a4554ef9f6d3278.jpg\"\/><\/p>\n<p>  \u041c\u044b \u0440\u0430\u0434\u044b <a href=\"http:\/\/blog.phalconphp.com\/post\/55004790452\/phalcon-1-2-0-released\">\u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c<\/a> \u043e \u0440\u0435\u043b\u0438\u0437\u0435 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 <a href=\"http:\/\/phalconphp.com\/\">Phalcon<\/a>.<\/p>\n<p>  \u041f\u0440\u043e\u0448\u043b\u043e \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 <a href=\"http:\/\/docs.phalconphp.com\/en\/latest\/reference\/benchmark.html\">\u0431\u044b\u0441\u0442\u0440\u0435\u0439\u0448\u0435\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430<\/a> \u0434\u043b\u044f PHP \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u0430\u043a \u0421\u0438-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435.<br \/>  \u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439. \u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u0441\u0430\u0439\u0442 \u0438 \u0433\u043e\u0442\u043e\u0432\u0438\u043c\u0441\u044f \u043a \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f API. <\/p>\n<p>  \u041d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f Phalcon 1.2.0:  <\/p>\n<ol>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#1\">\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 Volt<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#2\">\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Volt<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#3\">\u0421\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0443\u0442\u0435\u0439 \u0432 Phalcon\\Mvc\\Url<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#4\">Phalcon\\Mvc\\View\\Simple<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#5\">\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 JSON<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#6\">\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Many-To-Many \u0432 ORM<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#7\">\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#8\">\u041c\u0438\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f Javascript \u0438 CSS<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#9\">\u0417\u0430\u043f\u0440\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 (\u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u0432) \u0432 PHQL<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#10\">\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Partials<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#11\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Phalcon\\Tag \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0430<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#12\">\u041c\u0430\u043a\u0440\u043e\u0441\u044b \u0432 Volt<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#13\">BadMethodCallException \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#14\">\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043e\u0442\u043b\u0430\u0434\u043a\u0438<\/a><\/li>\n<\/ol>\n<p>  <a href=\"http:\/\/habrahabr.ru\/post\/186150\/#download\">\u0421\u043a\u0430\u0447\u0430\u0442\u044c<\/a><br \/>  <a href=\"http:\/\/habrahabr.ru\/post\/186150\/#motto\">\u041d\u043e\u0432\u044b\u0439 \u0434\u0435\u0432\u0438\u0437<\/a><br \/>  <a href=\"http:\/\/habrahabr.ru\/post\/186150\/#thanks\">\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u0438<\/a><\/p>\n<p>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>\u0418\u0442\u0430\u043a, \u0447\u0442\u043e \u0436\u0435 \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 Phalcon 1.2.0<\/h4>\n<p>  <a name=\"1\"><\/a>  <\/p>\n<h5>1. \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 Volt<\/h5>\n<p>  \u041e\u043f\u0446\u0438\u044f \u00abcompiledPath\u00bb \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430 Volt \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0444\u0430\u0439\u043b\u0430 \u043a\u0435\u0448\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u0430.  <\/p>\n<pre><code class=\"php\">\/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 .php \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 $volt-&gt;setOptions([     'compiledPath' =&gt; function($templatePath) {\t\t             return $templatePath . '.php';     } ]);  \/\/ \u200b \u200b\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432 $volt-&gt;setOptions([         'compiledPath' =&gt; function($templatePath) {                $dirName = dirname($templatePath);                if (!is_dir(CACHE_DIR . $dirName)) {                       mkdir(CACHE_DIR . $dirName,0755,true);                }                return CACHE_DIR . $dirName . '\/'. $templatePath . '.php'; \t} ]); <\/code><\/pre>\n<p>  <a name=\"2\"><\/a>  <\/p>\n<h5>2. \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Volt<\/h5>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u043c\u0435\u043d\u044f\u0442\u044c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u044b. \u041a\u043b\u0430\u0441\u0441 \u043d\u0438\u0436\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0445 \u043b\u044e\u0431\u044b\u0435 php-\u0444\u0443\u043d\u043a\u0446\u0438\u0438:  <\/p>\n<pre><code class=\"php\">class PhpFunctionExtension {     public function compileFunction($name, $arguments)     {           if (function_exists($name)) {               return $name . '('. $arguments . ')';           }               } } <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u044d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435:  <\/p>\n<pre><code class=\"php\">$volt-&gt;getCompiler()-&gt;addExtension(new PHPFunctionExtension()); <\/code><\/pre>\n<p>  <a name=\"3\"><\/a>  <\/p>\n<h5>3. \u0421\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0443\u0442\u0435\u0439 \u0432 Phalcon\\Mvc\\Url<\/h5>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u0441\u0441\u044b\u043b\u043e\u043a, \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b: \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0438\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, js \u0444\u0430\u0439\u043b\u044b \u0438 \u0434\u043b\u044f \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b. \u0414\u0430\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 CDN.  <\/p>\n<pre><code class=\"php\">$di['url'] = function() { \t$url = new Phalcon\\Mvc\\Url();  \t\/\/ \u200b \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u044b\u0439 URI \u0431\u0435\u0437  mod-rewrite \t$url-&gt;setBaseUri('\/index.php?_url=');  \t\/\/ \u200b \u200b\u0421\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0439 URI \u0434\u043b\u044f CSS\/Javascript\/Images \t$url-&gt;setStaticUri('\/static\/');  \treturn $url; }; <\/code><\/pre>\n<p>  <a name=\"4\"><\/a>  <\/p>\n<h5>4. Phalcon\\Mvc\\View\\Simple<\/h5>\n<p>  \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 \u043b\u0451\u0433\u043a\u0443\u044e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0443 Phalcon\\Mvc\\View, \u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432. \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043c\u0438\u043a\u0440\u043e-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438.  <\/p>\n<pre><code class=\"php\">\/\/ \u200b \u200bView service $di['view'] = function() {  \t$view = new Phalcon\\Mvc\\View\\Simple(); \t$view-&gt;setViewsDir(APP_PATH . '\/views\/'); \treturn $view; }; <\/code><\/pre>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043c\u0438\u043a\u0440\u043e-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445:  <\/p>\n<pre><code class=\"php\">$app-&gt;map('\/login', function() use ($app) {  \techo $app-&gt;view-&gt;render('security\/login', array( \t\t'form' =&gt; new LoginForm(),\t\t \t));  }); <\/code><\/pre>\n<p>  \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432.<br \/>  <a name=\"5\"><\/a>  <\/p>\n<h5>5. \u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 JSON<\/h5>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 JSON-\u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0441\u0442\u0430\u043b\u043e \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0449\u0435. \u041f\u0435\u0440\u0435\u0434\u0430\u0432 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Phalcon\\Http\\Response, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0432 JSON-\u0444\u043e\u0440\u043c\u0430\u0442\u0435:  <\/p>\n<pre><code class=\"php\">$app-&gt;post('\/api\/robots', function() use ($app) {      $data = $app-&gt;request-&gt;getJsonRawBody();      $robot = new Robots();     $robot-&gt;name = $data-&gt;name;     $robot-&gt;type = $data-&gt;type;              $response = new Phalcon\\Http\\Response();      \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f     if ($robot-&gt;success() == true) {          $response-&gt;setJsonContent([         \t'status' =&gt; 'OK',          \t'id' =&gt; $robot-&gt;id         ]);      } else {          \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043a\u043e\u0434\u0430 HTTP \u0441\u0442\u0430\u0442\u0443\u0441\u0430         $response-&gt;setStatusCode(500, &quot;Internal Error&quot;);          $response-&gt;setJsonContent([         \t'status' =&gt; 'ERROR',          \t'messages' =&gt; $status-&gt;getMessages()         ]);      }      return $response; }); <\/code><\/pre>\n<p>  <a name=\"6\"><\/a>  <\/p>\n<h5>6. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Many-To-Many \u0432 ORM<\/h5>\n<p>  \u041d\u0430\u0448\u0430 ORM \u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0433\u0438\u0435-\u043a\u043e-\u043c\u043d\u043e\u0433\u0438\u043c. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u044b\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0440\u0435\u0442\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438, \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0439:  <\/p>\n<pre><code class=\"php\">class Artists extends Phalcon\\Mvc\\Model { \tpublic $id;  \tpublic $name;  \tpublic function initialize() \t{ \t\t$this-&gt;hasManyToMany( \t\t\t'id',  \t\t\t'ArtistsSongs',  \t\t\t'artists_id', 'songs_id',  \t\t\t'Songs',  \t\t\t'id' \t\t); \t} } <\/code><\/pre>\n<p>  \u041f\u0435\u0441\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"php\">$artist = Artists::findFirst();  \/\/ \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0441\u0435 \u043f\u0435\u0441\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f foreach ($artist-&gt;songs as $song) { \techo $song-&gt;name; } <\/code><\/pre>\n<p>  \u0421 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u043c\u043d\u043e\u0433\u0438\u0435-\u043a\u043e-\u043c\u043d\u043e\u0433\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 PHQL ( \u044d\u0442\u043e \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u0430\u0434 SQL, \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 sql \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 ):  <\/p>\n<pre><code class=\"php\">$phql = 'SELECT Artists.name, Songs.name FROM Artists JOIN Songs WHERE Artists.genre = &quot;Trip-Hop&quot;'; $result = $this-&gt;modelsManager-&gt;query($phql); <\/code><\/pre>\n<p>  \u0421\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438, \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0441\u0432\u044f\u0437\u0443\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0442\u0430\u043a\u0436\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438:  <\/p>\n<pre><code class=\"php\">$songs = array()  $song = new Song(); $song-&gt;name = 'Get Lucky'; $songs[] = $song;  $song = new Song(); $song-&gt;name = 'Instant Crush'; $songs[] = $song;  $artist = new Artists(); $artist-&gt;name = 'Daft Punk'; $artist-&gt;songs = $songs; \/\/ \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u043c \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b $artist-&gt;save(); <\/code><\/pre>\n<p>  <a name=\"7\"><\/a>  <\/p>\n<h5>7. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438<\/h5>\n<p>  \u041f\u0440\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0438 \u200bVirtual foreign keys \u0432\u0441\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0442\u0430\u043a \u0436\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u044b:  <\/p>\n<pre><code class=\"php\">use Phalcon\\Mvc\\Model \tPhalcon\\Mvc\\Model\\Relation;  class Artists extends Model {  \tpublic $id;  \tpublic $name;  \tpublic function initialize() \t{ \t\t$this-&gt;hasMany('id', 'Songs', 'artists_id', [ \t\t\t'foreignKey' =&gt; [ \t\t\t\t'action' =&gt; Relation::ACTION_CASCADE  \t\t\t] \t\t]); \t}  } <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f \u0443\u0434\u0430\u043b\u044f\u0442\u0441\u044f \u0442\u0430\u043a\u0436\u0435 \u0438 \u0432\u0441\u0435 \u0435\u0433\u043e \u043f\u0435\u0441\u043d\u0438:  <\/p>\n<pre><code class=\"php\">$artist = Artists::findFirst();  $artist-&gt;delete(); \/\/ \u0443\u0434\u0430\u043b\u0438\u0442\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043f\u0435\u0441\u043d\u044f\u043c\u0438 <\/code><\/pre>\n<p>  <a name=\"8\"><\/a>  <\/p>\n<h5>8. \u041c\u0438\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f Javascript \u0438 CSS<\/h5>\n<p>  \u041c\u044b \u043d\u0430\u0443\u0447\u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 Phalcon\\Assets \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u0438\u0431\u043a\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438, \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445, \u043d\u043e \u0435\u0449\u0435 \u0438 \u0441\u0436\u0438\u043c\u0430\u0442\u044c JS\/CSS (\u043c\u0438\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c). \u0414\u043b\u044f \u0442\u0430\u043a\u043e\u0439 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u044b\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f Jsmin \u043e\u0442 Douglas Crockford \u0438 CSSMin \u043e\u0442 Ryan Day.  <\/p>\n<pre><code class=\"php\">$manager = new Phalcon\\Assets\\Manager(array( \t'sourceBasePath' =&gt; '.\/js\/', \t'targetBasePath' =&gt; '.\/js\/production\/' ));  $manager  \t\/\/ \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c Javascripts \u0432 \u043d\u0438\u0436\u043d\u044e\u044e \u0447\u0430\u0441\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b  \t-&gt;collection('jsFooter')  \t\/\/ \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \t-&gt;setTargetPath('final.js')  \t\/\/ \u0430\u0434\u0440\u0435\u0441 \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \t-&gt;setTargetUri('production\/final.js')  \t\/\/ \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u044b, \u0434\u0430\u0436\u0435 \u0431\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \t-&gt;addJs('code.jquery.com\/jquery-1.10.0.min.js', true, false)  \t\/\/ \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440 \t-&gt;addJs('common-functions.js') \t-&gt;addJs('page-functions.js')  \t\/\/ \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432 \u043e\u0434\u0438\u043d ( final.js ) \t-&gt;join(true)  \t\/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440 Jsmin \t-&gt;addFilter(new Phalcon\\Assets\\Filters\\Jsmin())  \t\/\/ \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0444\u0438\u043b\u044c\u0442\u0440, \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u044b\u0439 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \t-&gt;addFilter(new MyApp\\Assets\\Filters\\LicenseStamper());  $manager-&gt;outputJs(); <\/code><\/pre>\n<p>  <a name=\"9\"><\/a>  <\/p>\n<h5>9. \u0417\u0430\u043f\u0440\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 (\u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u0432) \u0432 PHQL<\/h5>\n<p>  \u0412\u043d\u0443\u0442\u0440\u0438 PHQL \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u0432\u044b\u0434\u0430\u0441\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"php\">$artist = Artists::findFirst(&quot;name = '$name'&quot;); <\/code><\/pre>\n<p>  <a name=\"10\"><\/a>  <\/p>\n<h5>10. \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Partials<\/h5>\n<p>  \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 partials \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432:  <\/p>\n<pre><code class=\"php\">&lt;?php $this-&gt;partial('footer', ['links' =&gt; $myLinks]); <\/code><\/pre>\n<p>  Volt \u0442\u0430\u043a \u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u044d\u0442\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c:  <\/p>\n<pre><code class=\"php\">{{ partial('footer', ['links': myLinks]) }} {% include 'footer' with ['links': myLinks] %} <\/code><\/pre>\n<p>  <a name=\"11\"><\/a>  <\/p>\n<h5>11. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Phalcon\\Tag \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0430<\/h5>\n<p>  \u041c\u044b \u0441\u0442\u0430\u0440\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0445\u043e\u0434\u0438\u043c \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043b\u044e\u0431\u044b\u0445 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043e\u043d\u0438 \u0432\u0441\u0451 \u0435\u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e, \u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043d\u0435 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 Phalcon\\Tag \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441 \u0432 DI\\FactoryDefault\u200b. \u0412\u043c\u0435\u0441\u0442\u043e:  <\/p>\n<pre><code class=\"php\">Phalcon\\Tag is now a service in DI\\FactoryDefault\u200b. So instead of doing this: <\/code><\/pre>\n<p>  \u0421\u0442\u043e\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c:  <\/p>\n<pre><code class=\"php\">$this-&gt;tag-&gt;setDefault('name', $robot-&gt;name); <\/code><\/pre>\n<p>  <a name=\"12\"><\/a>  <\/p>\n<h5>12. \u041c\u0430\u043a\u0440\u043e\u0441\u044b \u0432 Volt<\/h5>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043c\u0430\u043a\u0440\u043e\u0441\u0430\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0430\u0442\u0430, \u0434\u0430\u043b\u044c\u0448\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435:  <\/p>\n<pre><code class=\"php\">{%- macro input_text(name, attributes=null) -%}  {{- '&lt;input type=&quot;' ~ name ~ '&quot; ' -}}  {%- for key, value in attributes -%}     {{- key ~ '=&quot;' ~ value|e '&quot;' -}}  {%- endfor -%}  {{- '\/&gt;' -}} {%- endmacro -%}  {{ input_text(&quot;telephone&quot;, ['placeholder': 'Type telephone']) }} <\/code><\/pre>\n<p>  <a name=\"13\"><\/a>  <\/p>\n<h5>13. BadMethodCallException \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439<\/h5>\n<p>  \u0414\u043e \u0432\u0435\u0440\u0441\u0438\u0438 1.1.0 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0432 \u043c\u0435\u0442\u043e\u0434\u044b \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 1.2.0, \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 BadMethodCallException \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u0442\u044c, \u0433\u0434\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430:  <\/p>\n<pre><code class=\"php\">&lt;?php  $e = new Phalcon\\Escaper(); $e-&gt;escapeCss('a {}', 1, 2, 3); <\/code><\/pre>\n<p>  \u041e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0441\u044f:  <\/p>\n<pre><code class=\"php\">Fatal error: Uncaught exception 'BadMethodCallException' with message 'Wrong number of parameters' in test.php:4 Stack trace: #0 test.php(4): Phalcon\\Escaper-&gt;escapeCss('a {}', 1, 2, 3) #1 {main} <\/code><\/pre>\n<p>  <a name=\"14\"><\/a>  <\/p>\n<h5>14. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043e\u0442\u043b\u0430\u0434\u043a\u0438<\/h5>\n<p>  \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 Phalcon\\Debug \u200b\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0439 \u0441\u0442\u044d\u043a, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0432 \u043a\u0430\u043a\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a. \u0414\u0430\u043d\u043d\u044b\u0435 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u044b \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c try\/catch \u0431\u043b\u043e\u043a\u0438 \u0432 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0432 \u0435\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0435:  <\/p>\n<pre><code class=\"php\">(new Phalcon\\Debug)-&gt;listen(); <\/code><\/pre>\n<p>  \u041c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u043a\u0440\u0438\u043d\u043a\u0430\u0441\u0442 \u0441 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430:<br \/>  <object type=\"application\/x-shockwave-flash\" width=\"400\" height=\"302\" data=\"http:\/\/www.vimeo.com\/moogaloop.swf?clip_id=68893840&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=\"><param name=\"quality\" value=\"best\" \/><param name=\"allowfullscreen\" value=\"true\" \/><param name=\"scale\" value=\"showAll\" \/><param name=\"movie\" value=\"http:\/\/www.vimeo.com\/moogaloop.swf?clip_id=68893840&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=\" \/><\/object><\/p>\n<p>  \u0415\u0441\u0442\u044c \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0436\u043d\u044b\u0445 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0439:  <\/p>\n<ul>\n<li>\u0412\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432 Phalcon\\Db, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\u043c\u0438<\/li>\n<li>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u0432 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f XCache\/Igbinary \u0434\u043b\u044f Cache\/Annotations\/ORM-MetaData<\/li>\n<li>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 PHP 5.5<\/li>\n<li><a href=\"http:\/\/ru.wikipedia.org\/wiki\/Profile-guided_optimization\">Profiled Guided Optimizations<\/a><\/li>\n<\/ul>\n<p>  \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 <a href=\"https:\/\/github.com\/phalcon\/cphalcon\/blob\/1.2.0\/CHANGELOG\">CHANGELOG<\/a>.<br \/>  <a name=\"download\"><\/a>  <\/p>\n<h4>\u0421\u043a\u0430\u0447\u0430\u0442\u044c<\/h4>\n<p>  \u0421\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043d\u0430 <a href=\"https:\/\/github.com\/phalcon\/cphalcon\">GitHub<\/a>, \u043b\u0438\u0431\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 <a href=\"http:\/\/phalconphp.com\/download\/windows\">DLL \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/a> \u0434\u043b\u044f Windows. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u0430\u043a \u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 <a href=\"http:\/\/phalconphp.com\/download\">linux-\u0441\u0438\u0441\u0442\u0435\u043c<\/a>.<a href=\"http:\/\/docs.phalconphp.com\/en\/latest\/index.html\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/a> \u0442\u0430\u043a \u0436\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430.<br \/>  <a name=\"motto\"><\/a>  <\/p>\n<h4>\u041d\u043e\u0432\u044b\u0439 \u0434\u0435\u0432\u0438\u0437<\/h4>\n<p>  \u0414\u043e\u043b\u0433\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043f\u043e\u0434 \u0434\u0435\u0432\u0438\u0437\u043e\u043c \u00abThe fastest PHP Framework\u00bb, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0435\u043c\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044f \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b Phalcon \u043d\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0435. \u041c\u044b \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438 \u0438\u0441\u043a\u0430\u043b\u0438 \u043b\u044e\u0431\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0440\u0430\u0441\u0445\u043e\u0434\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044e \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0445 \u0440\u0430\u0441\u0445\u043e\u0434\u043e\u0432. \u041d\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u2014 \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0448 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442. \u041e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a \u0432\u0435\u0440\u0441\u0438\u0438 \u043c\u044b \u0441\u0442\u0430\u0440\u0430\u043b\u0438\u0441\u044c \u0434\u0435\u043b\u0430\u0442\u044c Phalcon \u0435\u0449\u0451 \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432 \u043d\u0435\u0433\u043e \u0441\u0430\u043c\u044b\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0432\u044b\u0440\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u0432 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0432 \u043c\u0438\u0440\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u041f\u041e.<br \/>  \u0414\u0432\u0438\u0433\u0430\u044f\u0441\u044c \u0432\u043f\u0435\u0440\u0451\u0434, \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0448 \u0434\u0435\u0432\u0438\u0437 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Phalcon. \u0421 \u0432\u0435\u0440\u0441\u0438\u0438 1.2.0 \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043f\u043e\u0434 \u043b\u043e\u0437\u0443\u043d\u0433\u043e\u043c \u00abThe best balance of speed and functionality\u00bb. \u041d\u0430\u0448\u0430 \u043f\u0435\u0440\u0432\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u0446\u0435\u043b\u044c \u2014 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442. \u041c\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u043c \u0431\u044b\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u044b\u043c \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u043c \u0434\u043b\u044f PHP, \u043d\u043e \u0438 \u0441\u0430\u043c\u044b\u043c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u043e \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430.<br \/>  <a name=\"thanks\"><\/a>  <\/p>\n<h4>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u0438<\/h4>\n<p>  \u041c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0433\u043e\u043b\u043e\u0441\u0443\u044e\u0449\u0438\u0445 \u0437\u0430 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0449\u0438\u0445 \u0441 \u0438\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439. \u0412\u0441\u0435\u0445, \u043a\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.<br \/>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0441\u0435\u043c, \u043a\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c Phalcon \u0438 \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0436\u0438\u0437\u043d\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430.<br \/>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0430\u043c!    \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\/post\/186150\/\"> http:\/\/habrahabr.ru\/post\/186150\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/4df\/d67\/192\/4dfd67192ca0d2821a4554ef9f6d3278.jpg\"\/><\/p>\n<p>  \u041c\u044b \u0440\u0430\u0434\u044b <a href=\"http:\/\/blog.phalconphp.com\/post\/55004790452\/phalcon-1-2-0-released\">\u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c<\/a> \u043e \u0440\u0435\u043b\u0438\u0437\u0435 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 <a href=\"http:\/\/phalconphp.com\/\">Phalcon<\/a>.<\/p>\n<p>  \u041f\u0440\u043e\u0448\u043b\u043e \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 <a href=\"http:\/\/docs.phalconphp.com\/en\/latest\/reference\/benchmark.html\">\u0431\u044b\u0441\u0442\u0440\u0435\u0439\u0448\u0435\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430<\/a> \u0434\u043b\u044f PHP \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u0430\u043a \u0421\u0438-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435.<br \/>  \u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439. \u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u0441\u0430\u0439\u0442 \u0438 \u0433\u043e\u0442\u043e\u0432\u0438\u043c\u0441\u044f \u043a \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f API. <\/p>\n<p>  \u041d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f Phalcon 1.2.0:  <\/p>\n<ol>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#1\">\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 Volt<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#2\">\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Volt<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#3\">\u0421\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0443\u0442\u0435\u0439 \u0432 Phalcon\\Mvc\\Url<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#4\">Phalcon\\Mvc\\View\\Simple<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#5\">\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 JSON<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#6\">\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Many-To-Many \u0432 ORM<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#7\">\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#8\">\u041c\u0438\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f Javascript \u0438 CSS<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#9\">\u0417\u0430\u043f\u0440\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 (\u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u0432) \u0432 PHQL<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#10\">\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Partials<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#11\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Phalcon\\Tag \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0430<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#12\">\u041c\u0430\u043a\u0440\u043e\u0441\u044b \u0432 Volt<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#13\">BadMethodCallException \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/186150\/#14\">\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043e\u0442\u043b\u0430\u0434\u043a\u0438<\/a><\/li>\n<\/ol>\n<p>  <a href=\"http:\/\/habrahabr.ru\/post\/186150\/#download\">\u0421\u043a\u0430\u0447\u0430\u0442\u044c<\/a><br \/>  <a href=\"http:\/\/habrahabr.ru\/post\/186150\/#motto\">\u041d\u043e\u0432\u044b\u0439 \u0434\u0435\u0432\u0438\u0437<\/a><br \/>  <a href=\"http:\/\/habrahabr.ru\/post\/186150\/#thanks\">\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u0438<\/a><\/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-186150","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/186150","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=186150"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/186150\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=186150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=186150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=186150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}