{"id":414272,"date":"2024-06-29T23:39:46","date_gmt":"2024-06-29T23:39:46","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=414272"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=414272","title":{"rendered":"<span>\u041d\u043e\u0432\u043e\u0441\u0442\u0438\u00a0Yii\u00a02021,\u00a0\u0432\u044b\u043f\u0443\u0441\u043a\u00a03<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e!<\/p>\n<p>\u042d\u0442\u043e \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0438 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u043f\u0440\u043e PHP \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Yii. \u0412\u044b\u043f\u0443\u0441\u043a\u043e\u0432 \u043d\u0435 \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0433\u043e, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u0430 \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442: \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0451 \u0438 \u0441\u0440\u0430\u0437\u0443. \u041d\u0430\u0434 Yii3 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0441\u0451 \u043f\u0440\u0438\u044f\u0442\u043d\u0435\u0439 \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0430\u043a\u0435\u0442\u044b \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0430 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u044b\u043c.<\/p>\n<figure class=\"float bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cd3\/239\/542\/cd3239542079427c2cb4f0d541342ef8.png\" width=\"2713\" height=\"3335\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cd3\/239\/542\/cd3239542079427c2cb4f0d541342ef8.png\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0424\u043e\u043d\u0434<\/h3>\n<p>\u041c\u044b \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u0432\u00a0<a href=\"https:\/\/opencollective.com\/yiisoft\/updates\/fundoss-dontaion-amplification\" rel=\"noopener noreferrer nofollow\">\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0435 FundOSS \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f OpenSource<\/a>. \u0412\u0441\u0435\u0433\u043e \u043d\u0430\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043b\u0438 49 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043d\u0430 $813. FundOSS \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0434\u043e $3295 (\u043c\u0438\u043d\u0443\u0441 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u044f Stripe). \u042d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0441\u0443\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u043c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430. \u0421\u043f\u0430\u0441\u0438\u0431\u043e, FundOSS, OpenCollective \u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u0435\u043c, \u043a\u0442\u043e \u043d\u0430\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442. \u0425\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u043f\u043e\u0447\u0430\u0449\u0435.<\/p>\n<h3>\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/rmcreative.ru\/blog\/post\/yii-3-pred-reliznaja-podderzhka-kompaniy\" rel=\"noopener noreferrer nofollow\">\u041c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043f\u0440\u0435\u0434-\u0440\u0435\u043b\u0438\u0437\u043d\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439<\/a>\u00a0\u0447\u0435\u0440\u0435\u0437 Telegram.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/forum.yiiframework.com\/t\/irc-channel-moved-to-libera-chat\/132382\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043d\u0430\u043b IRC \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043b\u0441\u044f \u0432 libera<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0411\u044b\u043b \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b\u00a0<a href=\"https:\/\/t.me\/yii3chronicles\" rel=\"noopener noreferrer nofollow\">#yii3chronicles<\/a>\u00a0\u0432 Telegram. \u0422\u0430\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0414\u0438\u0437\u0430\u0439\u043d \u0438 \u0441\u0430\u0439\u0442<\/h3>\n<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u044f \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u00a0<a href=\"https:\/\/www.awesomic.io\/\" rel=\"noopener noreferrer nofollow\">awesomic<\/a>\u00a0\u043f\u0440\u0438\u0433\u043b\u0430\u0441\u0438\u043b\u0430 \u043d\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u0438 \u0437\u0430 Yii 2. \u0421 \u0442\u0435\u0445 \u043f\u043e\u0440 \u043c\u044b \u043a\u043e\u0435-\u0447\u0435\u0433\u043e \u0443\u0441\u043f\u0435\u043b\u0438. \u041d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 &#171;<a href=\"https:\/\/www.yiiframework.com\/logo\" rel=\"noopener noreferrer nofollow\">official logos and design<\/a>&#187; \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u044b, favicon-\u044b, \u043e\u0431\u0449\u0438\u0435 \u0433\u0430\u0439\u0434\u043b\u0430\u0439\u043d\u044b \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0434\u043b\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0430 &#171;Looking for Yii 3 progress?&#187;. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u044d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043e\u0433\u0440\u0435\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a Yii3 \u0438 \u0432\u044b\u043b\u044c\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 issue \u0438 pull request.<\/p>\n<h3>\u200b\u00a0Yii 1<\/h3>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/369\/yii-1-1-24-is-released-and-security-support-extended\" rel=\"noopener noreferrer nofollow\">\u0411\u044b\u043b \u0432\u044b\u043f\u0443\u0449\u0435\u043d Yii 1.1.24. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0434\u043b\u0435\u043d\u0430 \u0434\u043e 31.12.2023<\/a>.<\/p>\n<h3>\u200b\u00a0Yii 2<\/h3>\n<p>\u0413\u043e\u0442\u043e\u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/378\/yii-2-0-43\" rel=\"noopener noreferrer nofollow\">Yii 2.0.43<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/379\/auth-client-extension-2-2-11-released\" rel=\"noopener noreferrer nofollow\">Auth client 2.2.11<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/380\/bootstrap-extension-version-2-0-11-released\" rel=\"noopener noreferrer nofollow\">Bootstrap 2.0.11<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/381\/debug-extension-2-1-18-released\" rel=\"noopener noreferrer nofollow\">Debug 2.1.18<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/382\/elasticsearch-extension-2-1-2-released\" rel=\"noopener noreferrer nofollow\">ElasticSearch 2.1.2<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/383\/gii-extension-2-2-3-released\" rel=\"noopener noreferrer nofollow\">Gii 2.2.3<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/384\/http-client-extension-2-0-14-released\" rel=\"noopener noreferrer nofollow\">HTTP Client 2.0.14<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/385\/mongodb-extension-2-1-12-released\" rel=\"noopener noreferrer nofollow\">MongoDB 2.1.12<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/386\/smarty-extension-2-0-10-released\" rel=\"noopener noreferrer nofollow\">Smarty 2.0.10<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043e Bootstrap 4.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/377\/bootstrap-5-extension-version-2-0-0-released\" rel=\"noopener noreferrer nofollow\">\u0420\u0435\u043b\u0438\u0437\u043d\u0443\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Bootstrap 5<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u0440\u0430\u0437\u044b Docker \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043e XDebug 3.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii2-apidoc\" rel=\"noopener noreferrer nofollow\">\u043f\u0430\u043a\u0435\u0442\u0435 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e API<\/a>\u00a0\u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 PHP 8. \u041c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u044d\u0442\u0438\u043c. \u0410 \u043f\u043e\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 PHP 7.<\/p>\n<h3>\u200b\u00a0Yii 3<\/h3>\n<p>\u200b\u00a0\u0420\u0435\u043b\u0438\u0437\u044b \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/365\/yii-event-1-0-0\" rel=\"noopener noreferrer nofollow\">Yii event<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/366\/error-handler-1-0-0\" rel=\"noopener noreferrer nofollow\">Error handler<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/367\/assets-1-0-0\" rel=\"noopener noreferrer nofollow\">Assets<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/370\/ratelimiter-1-0-0\" rel=\"noopener noreferrer nofollow\">Rate limiter<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/371\/data-response-1-0-0\" rel=\"noopener noreferrer nofollow\">Data response<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/372\/view-1-0-0\" rel=\"noopener noreferrer nofollow\">View<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/374\/yii-view-1-0-0\" rel=\"noopener noreferrer nofollow\">Yii view<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/373\/view-twig-renderer-1-0-0\" rel=\"noopener noreferrer nofollow\">View Twig renderer<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/375\/mailer-1-0-0-and-swiftmailer-1-0-0\" rel=\"noopener noreferrer nofollow\">Mailer \u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u0434\u043b\u044f SwiftMailer<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/376\/email-log-target-1-0-0\" rel=\"noopener noreferrer nofollow\">Email log target<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/368\/cookies-1-2-0\" rel=\"noopener noreferrer nofollow\">Cookies 1.2.0<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/364\/translator-1-0-0-and-related-packages\" rel=\"noopener noreferrer nofollow\">Translator 1.0.0 \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/387\/ratelimiter-2-0-0\" rel=\"noopener noreferrer nofollow\">Rate limiter 2.0.0<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/388\/mutex-and-adapters-1-0-0\" rel=\"noopener noreferrer nofollow\">Mutex \u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b 1.0.0<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043d\u043e\u0441\u0438\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u0442\u0447-\u0440\u0435\u043b\u0438\u0437\u044b \u0438 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u043f\u0440\u043e \u043d\u0438\u0445. \u042d\u0442\u043e \u043e\u0442\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f, \u0430 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0442\u0430\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439.<\/p>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0443\u0431\u0438\u043b\u0438:<\/p>\n<ul>\n<li>\n<p>yiisoft\/serializer.<\/p>\n<\/li>\n<li>\n<p>yiisoft\/container-proxy.<\/p>\n<\/li>\n<li>\n<p>yiisoft\/yii-debug-frontend (\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0434\u0430\u043b\u0435\u0435 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 &#171;Debugger&#187;).<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0444\u043e\u043a\u0443\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u2014\u00a0<a href=\"https:\/\/github.com\/yiisoft\/factory\" rel=\"noopener noreferrer nofollow\">yiisoft\/factory<\/a>\u00a0\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/di\" rel=\"noopener noreferrer nofollow\">yiisoft\/di<\/a>. \u041e\u043d\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 11 \u0438 31 \u0440\u0435\u043b\u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<h4>\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430<\/h4>\n<p>\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/package-template\/pull\/45\" rel=\"noopener noreferrer nofollow\">\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u044b \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u043f\u043e\u043b\u043d\u043e\u0447\u044c<\/a>\u00a0\u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043f\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0443. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0430\u043a\u0435\u0442 \u0440\u0430\u0437\u043b\u043e\u043c\u0430\u043b\u0441\u044f \u0438\u0437-\u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438. \u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u0430\u044f \u0434\u043b\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u041f\u043e\u043a\u0430 \u043d\u043e\u0447\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432.<\/p>\n<p><a href=\"https:\/\/github.com\/yiisoft\/config\" rel=\"noopener noreferrer nofollow\">Yii Config<\/a>\u00a0\u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0440\u0435\u0431\u0443\u0435\u0442 Composer 2. \u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Composer \u043d\u0435 \u0432\u0438\u0434\u0438\u0442 \u0441\u0432\u0435\u0436\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043d\u0430 packagist \u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c Yii 3.<\/p>\n<h4>Yii development tool<\/h4>\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u043d\u0435\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii-dev-tool\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c:<\/p>\n<ul>\n<li>\n<p>\u0411\u044b\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u00a0<code>list<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043c\u043b\u0438\u043d\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043b\u044e\u0431\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438\u00a0<code>yiisoft<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h4>\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0434\u0435\u043c\u043e<\/h4>\n<p>\u041c\u044b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b\u0438 &#171;yii-demo&#187; \u0432 \u043f\u0440\u043e\u0441\u0442\u043e &#171;demo&#187;. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0434\u0435\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/demo\" rel=\"noopener noreferrer nofollow\">yiisoft\/demo<\/a>\u00a0&#8212; \u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0434\u0435\u043c\u043a\u0430. HTML \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/demo-api\" rel=\"noopener noreferrer nofollow\">yiisoft\/demo-api<\/a>\u00a0&#8212; \u0414\u0435\u043c\u043a\u0430 REST API.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/app\" rel=\"noopener noreferrer nofollow\">yiisoft\/app<\/a>\u00a0&#8212; \u0428\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 HTML.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/app-api\" rel=\"noopener noreferrer nofollow\">yiisoft\/app-api<\/a>\u00a0&#8212; \u0428\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 REST API.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f PHP \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0438 \u0434\u0435\u043c\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u0430 \u0434\u043e PHP 8.0. \u041f\u0430\u043a\u0435\u0442\u044b \u0432 \u044d\u0442\u043e\u043c \u043f\u043b\u0430\u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 7.4+ \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0431\u0443\u0442\u0441\u0442\u0440\u0430\u043f \u0432\u00a0<a href=\"https:\/\/github.com\/yiisoft\/demo\/blob\/master\/config\/bootstrap.php\" rel=\"noopener noreferrer nofollow\">config\/bootstrap.php<\/a>,\u00a0<a href=\"https:\/\/github.com\/yiisoft\/demo\/blob\/master\/config\/bootstrap-web.php\" rel=\"noopener noreferrer nofollow\">config\/bootstrap-web.php<\/a>\u00a0\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/demo\/blob\/master\/config\/bootstrap-console.php\" rel=\"noopener noreferrer nofollow\">config\/bootstrap-console.php<\/a>. \u0422\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0430\u043a\u0438\u0435 callable, \u043a\u0430\u043a\u00a0<code>function (ContainerInterface $container): void<\/code>. \u041e\u043d\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u044f\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u00a0<code>composer run serve<\/code>. \u0414\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0436\u0435, \u0447\u0442\u043e \u0438\u00a0<code>.\/yii serve<\/code>.<\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439. \u041c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0451 \u0435\u0449\u0451 \u043f\u0440\u043e\u0449\u0435.<\/p>\n<h4>DI \u0438 Factory<\/h4>\n<p>\u041a\u0430\u043a DI, \u0442\u0430\u043a \u0438 factory \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 \u0440\u0435\u043b\u0438\u0437\u044b \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e, \u0438\u043c\u0438. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043e\u043a:<\/p>\n<ul>\n<li>\n<p>\u041e\u0431\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u0441\u0442\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u0433\u0438\u043c\u0438. \u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0443\u0431\u0440\u0430\u043b\u0438 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c defintion-\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0441\u0442\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u044b\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043b\u044c\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0438 \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u043a\u043e\u0434\u0430 \u0442\u0435\u0441\u0442\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440:<\/p>\n<ul>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0438 delegate lookup. \u041e\u043d\u0438 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/di#using-service-providers\" rel=\"noopener noreferrer nofollow\">\u0421\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b<\/a>\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 (<code>DeferredServiceProvider<\/code>\u00a0\u0438\u00a0<code>ServiceProvider<\/code>). \u041e\u043d\u0438 \u043d\u0430\u0432\u0435\u044f\u043d\u044b\u00a0<a href=\"https:\/\/github.com\/container-interop\/service-provider\" rel=\"noopener noreferrer nofollow\">container-interop<\/a>, \u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0442 \u0435\u0433\u043e \u043f\u043e\u0442\u043e\u043c\u0443 \u043a\u0430\u043a \u0432 \u0447\u0435\u0440\u043d\u043e\u0432\u0438\u043a\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f definition-\u043e\u0432 \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u043d \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/di\/pull\/241\" rel=\"noopener noreferrer nofollow\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b\u00a0<\/a><code>ReferencesArray<\/code>\u00a0\u0438\u00a0<code>DynamicReferencesArray<\/code>.\u00a0<a href=\"https:\/\/github.com\/yiisoft\/data-response\/pull\/60\" rel=\"noopener noreferrer nofollow\">\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0438<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0424\u0430\u0431\u0440\u0438\u043a\u0430:<\/p>\n<ul>\n<li>\n<p>\u0412\u00a0<code>Factory::create()<\/code>\u00a0\u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, definition \u043a\u043b\u0430\u0441\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p>\u0424\u0430\u0431\u0440\u0438\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 PSR\u00a0<code>ContainerInterface<\/code>.\u00a0<code>Factory::get()<\/code>\u00a0\u0438\u00a0<code>Factory::has()<\/code>\u00a0\u0431\u044b\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041e\u0447\u0435\u0440\u0435\u0434\u0438<\/h4>\n<ul>\n<li>\n<p>\u0423\u043f\u0440\u043e\u0441\u0442\u0438\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0431\u0440\u043e\u043a\u0435\u0440 AMQP, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0430\u043c\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u043b\u043e \u0443\u0434\u043e\u0431\u043d\u0435\u0439 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u043d\u0430\u043b\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0410\u0434\u0430\u043f\u0442\u0435\u0440 AMQP \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u043b\u0430\u0435\u0442 ack \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c.<\/p>\n<\/li>\n<\/ul>\n<h4>HTML<\/h4>\n<p><a href=\"https:\/\/github.com\/yiisoft\/html\/blob\/master\/CHANGELOG.md\" rel=\"noopener noreferrer nofollow\">\u0413\u043e\u0442\u043e\u0432\u0438\u043c 2.0.0<\/a>. \u0411\u0443\u0434\u0443\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0433\u0438, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e HTML \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 API.<\/p>\n<h4>Middleware dispatcher<\/h4>\n<p>\u041f\u0430\u043a\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u043e\u0442\u043e\u0432 \u043a \u0440\u0435\u043b\u0438\u0437\u0443. \u041c\u044b \u0435\u0449\u0451 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0438\u0434\u0435\u0438 \u043f\u043e \u0435\u0433\u043e \u0434\u0438\u0437\u0430\u0439\u043d\u0443, \u043d\u043e \u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043f\u043e\u0447\u0442\u0438 \u0438\u0434\u0435\u0430\u043b\u0435\u043d.<\/p>\n<ul>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442\u00a0<a href=\"https:\/\/github.com\/yiisoft\/middleware-dispatcher\" rel=\"noopener noreferrer nofollow\">\u043e\u0431\u0437\u0430\u0432\u0451\u043b\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u0432 readme<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. Middleware \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438 \u043a\u044d\u0448\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f RoadRunner \u0438 Swoole.<\/p>\n<\/li>\n<\/ul>\n<h4>\u0412\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440<\/h4>\n<p>\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u043e\u0432 \u0438\u0437\u043c\u0435\u043d\u0451\u043d:<\/p>\n<pre><code>\/\/ \u0434\u043e (new Number())->integer()->min(44);  \/\/ \u043f\u043e\u0441\u043b\u0435 Number::rule()->integer()->min(44); <\/code><\/pre>\n<h4>Yii Sentry<\/h4>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii-sentry\" rel=\"noopener noreferrer nofollow\">\u043f\u0430\u043a\u0435\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Sentry<\/a>.\u00a0<a href=\"https:\/\/sentry.io\/\" rel=\"noopener noreferrer nofollow\">Sentry<\/a>\u00a0&#8212; \u0441\u0435\u0440\u0432\u0438\u0441 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0438 \u043b\u043e\u0433\u043e\u0432. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0441 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u0432\u0435\u0431, \u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u044c.<\/p>\n<h4>\u0412\u0438\u0434\u0436\u0435\u0442\u044b<\/h4>\n<ul>\n<li>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c friendly exception-\u044b.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a\u0430\u043a \u0443\u00a0<a href=\"https:\/\/github.com\/yiisoft\/widget\" rel=\"noopener noreferrer nofollow\">widget<\/a>, \u0442\u0430\u043a \u0438 \u0443\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii-widgets\" rel=\"noopener noreferrer nofollow\">Yii widgets<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii-widgets\/pull\/36\" rel=\"noopener noreferrer nofollow\">\u0412\u0441\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u044b Yii \u0441\u0442\u0430\u043b\u0438 \u0438\u043c\u043c\u0443\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u043c\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043e \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u0442\u0435\u0441\u0442\u0430\u043c\u0438 \u0438 \u043e\u0431\u0449\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u043b\u0438 \u0432\u0438\u0434\u0436\u0435\u0442\u044b Bulma.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a<\/h4>\n<ul>\n<li>\n<p>Friendly exception-\u044b \u0442\u0435\u043f\u0435\u0440\u044c\u00a0<a href=\"https:\/\/github.com\/yiisoft\/error-handler\/pull\/45\" rel=\"noopener noreferrer nofollow\">\u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043f\u0440\u0438\u044f\u0442\u043d\u0435\u0439<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/error-handler\/issues\/44\" rel=\"noopener noreferrer nofollow\">\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c markdown \u0438 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/package-template\/pull\/45\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432 \u043b\u043e\u0433<\/a>.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0438<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/config#environments\" rel=\"noopener noreferrer nofollow\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u0425\u044d\u0448\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435\u00a0<code>dist.lock<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<h4>\u0414\u0435\u0431\u0430\u0433\u0433\u0435\u0440<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u0443\u0431\u0438\u043b\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii-debug-frontend\" rel=\"noopener noreferrer nofollow\">\u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043e\u0434 Angular<\/a>\u00a0\u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii-debug\" rel=\"noopener noreferrer nofollow\">yiisoft\/yii-debug<\/a>\u00a0\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u0437 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii-debug-api\" rel=\"noopener noreferrer nofollow\">yiisoft\/yii-debug-api<\/a>\u00a0\u0440\u0430\u0437\u0434\u0430\u0451\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u0447\u0435\u0440\u0435\u0437 REST API.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii-debug-viewer\" rel=\"noopener noreferrer nofollow\">yiisoft\/yii-debug-viewer<\/a>\u00a0&#8212; \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0430\u043d\u0435\u043b\u044c \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043e\u0434 Angular. \u041f\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u043c\u043e \u0441 Yii2.<\/p>\n<\/li>\n<\/ul>\n<p>Viewer \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0434\u0435\u043c\u043e \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u0430\u043a\u00a0<code>http:\/\/127.0.0.1:8080\/debug\/viewer<\/code>, \u0433\u0434\u0435\u00a0<code>127.0.0.1:8080<\/code>\u00a0&#8212; \u0432\u0430\u0448\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0445\u043e\u0441\u0442 \u0438 \u043f\u043e\u0440\u0442.<\/p>\n<h4>\u0420\u043e\u0443\u0442\u0435\u0440<\/h4>\n<p>\u0411\u044b\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u044b \u043a\u0430\u043a \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433, \u0442\u0430\u043a \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u043c API.<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u043e\u0443\u0442\u043e\u0432 IDE \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0432\u0438\u0434\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0440\u043e\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u00a0<code>Yiisoft\\Router\\CurrentRoute<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0445\u043e\u0441\u0442 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u0447\u0435\u0440\u0435\u0437\u00a0<code>Group::host()<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043b\u044f \u0438\u043c\u0435\u043d\u0438 \u0440\u043e\u0443\u0442\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u044b\u00a0<code>Group::namePrefix()<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h3>\u200b\u00a0\u041d\u043e\u0432\u0430\u044f \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/docs\/blob\/master\/020-package-release-criteria.md\" rel=\"noopener noreferrer nofollow\">020 &#8212; Package release criteria<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/docs\/blob\/master\/021-changelog-upgrade.md\" rel=\"noopener noreferrer nofollow\">021 &#8212; Changelog and upgrade<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435\u00a0<a href=\"https:\/\/github.com\/yiisoft\/docs\/blob\/master\/guide\/en\/README.md\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/a>\u00a0\u0438 README \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<h3>\u200b\u00a0\u041f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/yiifeed.com\/news\/512\/intoduction-to-the-mvc-programming-paradigm-through-yii2\" rel=\"noopener noreferrer nofollow\">Introduction to the MVC programming paradigm through Yii2<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/kaloyan.info\/writing\/2021\/05\/31\/benchmark-php-routing.html\" rel=\"noopener noreferrer nofollow\">Real World Benchmark PHP Routing<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/kaloyan.info\/writing\/2021\/06\/07\/more-php-routing-benchmarks.html\" rel=\"noopener noreferrer nofollow\">More Real World PHP Routing Benchmarks<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/bizley\/benchmark-php-routing\" rel=\"noopener noreferrer nofollow\">Benchmark PHP Routing with Yii 2 results<\/a>. We use FastRoute in Yii3.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/xepozz\/yii-temporal-demo\" rel=\"noopener noreferrer nofollow\">A demo of Temporal + Yii3<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/lukemerrett.com\/c4-diagrams-as-code-architectural-joy\/\" rel=\"noopener noreferrer nofollow\">C4, Diagrams as Code &amp; Architectural Joy<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/tactician.thephpleague.com\/installation\/#yii-framework-2\" rel=\"noopener noreferrer nofollow\">Tactician got Yii support<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.reddit.com\/r\/PHP\/comments\/o9fpcx\/nocolor_validate_the_architecture_of_your_php\/\" rel=\"noopener noreferrer nofollow\">NoColor \u2014 validate the architecture of your PHP project<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.packagist.com\/sunsetting-the-php-version-stats-blog-series\/\" rel=\"noopener noreferrer nofollow\">Composer sunsetting the PHP Version Stats Blog Series<\/a>\u00a0and\u00a0<a href=\"https:\/\/packagist.org\/packages\/yiisoft\/yii2\/php-stats\" rel=\"noopener noreferrer nofollow\">Yii2 stats<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/matthiasnoback.nl\/2021\/05\/dont-test-constructors\/\" rel=\"noopener noreferrer nofollow\">Don&#8217;t test constructors<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/haydenjames.io\/php-fpm-tuning-using-pm-static-max-performance\/\" rel=\"noopener noreferrer nofollow\">PHP-FPM tuning: Using &#171;pm static&#187; for max performance<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/microservices.io\/\" rel=\"noopener noreferrer nofollow\">Microservice Architecture<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/playlist?list=PLg9Kjjye-m1g_eXpdaifUqLqALLqZqKd4\" rel=\"noopener noreferrer nofollow\">Xdebug 3 videos<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=s2wyJc4h1U4\" rel=\"noopener noreferrer nofollow\">samdark reviewing Yii issues<\/a>.<\/p>\n<\/li>\n<\/ul>\n<h3>\u200b\u00a0\u0421\u043f\u0430\u0441\u0438\u0431\u043e!<\/h3>\n<p>\u0425\u043e\u0447\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0441\u0435\u043c \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430\u043c \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u0442\u0430\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 Yii 3. \u0412\u043c\u0435\u0441\u0442\u0435 \u0443 \u043d\u0430\u0441 \u0432\u0441\u0451 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f!<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/craftcms.com\/\" rel=\"noopener noreferrer nofollow\">CraftCMS<\/a>\u00a0&#8212; \u041e\u0442\u043b\u0438\u0447\u043d\u0430\u044f OpenSource CMS \u043d\u0430 Yii2.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.onetwist.com\/\" rel=\"noopener noreferrer nofollow\">Onetwist Software<\/a>\u00a0&#8212; \u0423\u0441\u043b\u0443\u0433\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.skillshare.com\/\" rel=\"noopener noreferrer nofollow\">SkillShare<\/a>\u00a0&#8212; \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u043c \u043d\u0430\u0432\u044b\u043a\u0430\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.betteridge.com\/\" rel=\"noopener noreferrer nofollow\">Betteridge<\/a>\u00a0&#8212; \u042e\u0432\u0435\u043b\u0438\u0440\u043d\u044b\u0435 \u0438\u0437\u0434\u0435\u043b\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.dmstr.io\/en\" rel=\"noopener noreferrer nofollow\">dmstr<\/a>\u00a0&#8212; \u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Docker.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.humhub.com\/en\" rel=\"noopener noreferrer nofollow\">HumHub<\/a>\u00a0&#8212; OpenSource \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.jetbrains.com\/\" rel=\"noopener noreferrer nofollow\">JetBrains<\/a>\u00a0&#8212; \u041e\u0442\u043b\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/skin.club\/\" rel=\"noopener noreferrer nofollow\">Skin.Club<\/a>\u00a0&#8212; \u0420\u044b\u043d\u043e\u043a \u0441\u043a\u0438\u043d\u043e\u0432 \u0434\u043b\u044f CS:GO.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.efko.ru\/\" rel=\"noopener noreferrer nofollow\">EFKO Group<\/a>\u00a0&#8212; \u0444\u0443\u0434\u0442\u0435\u0445, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043f\u0438\u0442\u0430\u043d\u0438\u044f, \u0438 \u0432\u0435\u043d\u0447\u0443\u0440\u043d\u044b\u0435 \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u0438. \u0421 \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0435\u0449\u0451 \u0438 \u042d\u0424\u041a\u041e \u0426\u0438\u0444\u0440\u043e\u0432\u044b\u0435 \u0420\u0435\u0448\u0435\u043d\u0438\u044f, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0441\u0442\u0443\u0449\u0430\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u0430\u044f IT-\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u042d\u0424\u041a\u041e.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u0440\u043e\u043c\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u00a0<a href=\"https:\/\/opencollective.com\/yiisoft\" rel=\"noopener noreferrer nofollow\">\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438<\/a>.<\/p>\n<p>\u200b\u00a0\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0442\u0435\u043c, \u043a\u0442\u043e \u043f\u043e\u043c\u043e\u0433 Yii 3 \u043a\u043e\u0434\u043e\u043c:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/devanych\" rel=\"noopener noreferrer nofollow\">Evgeniy Zyubin<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/vjik\" rel=\"noopener noreferrer nofollow\">Sergei Predvoditelev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiiliveext\" rel=\"noopener noreferrer nofollow\">yiiliveext<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/terabytesoftw\" rel=\"noopener noreferrer nofollow\">Wilmer Arambula<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/rustamwin\" rel=\"noopener noreferrer nofollow\">Rustam Mamadaminov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/xepozz\" rel=\"noopener noreferrer nofollow\">Dmitry Derepko<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/machour\" rel=\"noopener noreferrer nofollow\">Mehdi Achour<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/darkdef\" rel=\"noopener noreferrer nofollow\">Valerii Gorbachev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/viktorprogger\" rel=\"noopener noreferrer nofollow\">Viktor Babanov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Fantom409\" rel=\"noopener noreferrer nofollow\">Anton Samoylenko<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/toir427\" rel=\"noopener noreferrer nofollow\">Toir Tuychiev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/thenotsoft\" rel=\"noopener noreferrer nofollow\">Alexander Nekrasov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Tarekajaj\" rel=\"noopener noreferrer nofollow\">Tarek K. Ajaj<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Nex-Otaku\" rel=\"noopener noreferrer nofollow\">Leonid Chernenko<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/strorch\" rel=\"noopener noreferrer nofollow\">Maksym Storchak<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/roxblnfk\" rel=\"noopener noreferrer nofollow\">Aleksei Gagarin<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/sanmai\" rel=\"noopener noreferrer nofollow\">Alexey Kopytko<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/hiqsol\" rel=\"noopener noreferrer nofollow\">Andrii Vasyliev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/razonyang\" rel=\"noopener noreferrer nofollow\">Razon Yang<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/kamarton\" rel=\"noopener noreferrer nofollow\">Somogyi M\u00e1rton<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/mj4444ru\" rel=\"noopener noreferrer nofollow\">mj4444<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Desure85\" rel=\"noopener noreferrer nofollow\">Dmitry Egorov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Mister-42\" rel=\"noopener noreferrer nofollow\">Mister 42<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/ditibal\" rel=\"noopener noreferrer nofollow\">ditibal<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/igbanam\" rel=\"noopener noreferrer nofollow\">Igbanam Ogbuluijah<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Julian-B90\" rel=\"noopener noreferrer nofollow\">Julian Schmidt<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/kafkiansky\" rel=\"noopener noreferrer nofollow\">kafkiansky<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/iamsaint\" rel=\"noopener noreferrer nofollow\">Alexey Chernousov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/cebe\" rel=\"noopener noreferrer nofollow\">Carsten Brandt<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/romkatsu\" rel=\"noopener noreferrer nofollow\">Roman Tsurkanu<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/kaznovac\" rel=\"noopener noreferrer nofollow\">Marko Kaznovac<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/skugarev\" rel=\"noopener noreferrer nofollow\">Andrey Skugarev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/schmunk42\" rel=\"noopener noreferrer nofollow\">Tobias Munk<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/573940\/\"> https:\/\/habr.com\/ru\/articles\/573940\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e!<\/p>\n<p>\u042d\u0442\u043e \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0438 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u043f\u0440\u043e PHP \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Yii. \u0412\u044b\u043f\u0443\u0441\u043a\u043e\u0432 \u043d\u0435 \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0433\u043e, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u0430 \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442: \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0451 \u0438 \u0441\u0440\u0430\u0437\u0443. \u041d\u0430\u0434 Yii3 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0441\u0451 \u043f\u0440\u0438\u044f\u0442\u043d\u0435\u0439 \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0430\u043a\u0435\u0442\u044b \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0430 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u044b\u043c.<\/p>\n<figure class=\"float bordered full-width\"><figcaption><\/figcaption><\/figure>\n<h3>\u0424\u043e\u043d\u0434<\/h3>\n<p>\u041c\u044b \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u0432\u00a0<a href=\"https:\/\/opencollective.com\/yiisoft\/updates\/fundoss-dontaion-amplification\" rel=\"noopener noreferrer nofollow\">\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0435 FundOSS \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f OpenSource<\/a>. \u0412\u0441\u0435\u0433\u043e \u043d\u0430\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043b\u0438 49 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043d\u0430 $813. FundOSS \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0434\u043e $3295 (\u043c\u0438\u043d\u0443\u0441 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u044f Stripe). \u042d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0441\u0443\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u043c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430. \u0421\u043f\u0430\u0441\u0438\u0431\u043e, FundOSS, OpenCollective \u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u0435\u043c, \u043a\u0442\u043e \u043d\u0430\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442. \u0425\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u043f\u043e\u0447\u0430\u0449\u0435.<\/p>\n<h3>\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/rmcreative.ru\/blog\/post\/yii-3-pred-reliznaja-podderzhka-kompaniy\" rel=\"noopener noreferrer nofollow\">\u041c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043f\u0440\u0435\u0434-\u0440\u0435\u043b\u0438\u0437\u043d\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439<\/a>\u00a0\u0447\u0435\u0440\u0435\u0437 Telegram.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/forum.yiiframework.com\/t\/irc-channel-moved-to-libera-chat\/132382\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043d\u0430\u043b IRC \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043b\u0441\u044f \u0432 libera<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0411\u044b\u043b \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b\u00a0<a href=\"https:\/\/t.me\/yii3chronicles\" rel=\"noopener noreferrer nofollow\">#yii3chronicles<\/a>\u00a0\u0432 Telegram. \u0422\u0430\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0414\u0438\u0437\u0430\u0439\u043d \u0438 \u0441\u0430\u0439\u0442<\/h3>\n<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u044f \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u00a0<a href=\"https:\/\/www.awesomic.io\/\" rel=\"noopener noreferrer nofollow\">awesomic<\/a>\u00a0\u043f\u0440\u0438\u0433\u043b\u0430\u0441\u0438\u043b\u0430 \u043d\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u0438 \u0437\u0430 Yii 2. \u0421 \u0442\u0435\u0445 \u043f\u043e\u0440 \u043c\u044b \u043a\u043e\u0435-\u0447\u0435\u0433\u043e \u0443\u0441\u043f\u0435\u043b\u0438. \u041d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 &#171;<a href=\"https:\/\/www.yiiframework.com\/logo\" rel=\"noopener noreferrer nofollow\">official logos and design<\/a>&#187; \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u044b, favicon-\u044b, \u043e\u0431\u0449\u0438\u0435 \u0433\u0430\u0439\u0434\u043b\u0430\u0439\u043d\u044b \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0434\u043b\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0430 &#171;Looking for Yii 3 progress?&#187;. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u044d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043e\u0433\u0440\u0435\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a Yii3 \u0438 \u0432\u044b\u043b\u044c\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 issue \u0438 pull request.<\/p>\n<h3>\u200b\u00a0Yii 1<\/h3>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/369\/yii-1-1-24-is-released-and-security-support-extended\" rel=\"noopener noreferrer nofollow\">\u0411\u044b\u043b \u0432\u044b\u043f\u0443\u0449\u0435\u043d Yii 1.1.24. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0434\u043b\u0435\u043d\u0430 \u0434\u043e 31.12.2023<\/a>.<\/p>\n<h3>\u200b\u00a0Yii 2<\/h3>\n<p>\u0413\u043e\u0442\u043e\u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/378\/yii-2-0-43\" rel=\"noopener noreferrer nofollow\">Yii 2.0.43<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/379\/auth-client-extension-2-2-11-released\" rel=\"noopener noreferrer nofollow\">Auth client 2.2.11<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/380\/bootstrap-extension-version-2-0-11-released\" rel=\"noopener noreferrer nofollow\">Bootstrap 2.0.11<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/381\/debug-extension-2-1-18-released\" rel=\"noopener noreferrer nofollow\">Debug 2.1.18<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/382\/elasticsearch-extension-2-1-2-released\" rel=\"noopener noreferrer nofollow\">ElasticSearch 2.1.2<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/383\/gii-extension-2-2-3-released\" rel=\"noopener noreferrer nofollow\">Gii 2.2.3<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/384\/http-client-extension-2-0-14-released\" rel=\"noopener noreferrer nofollow\">HTTP Client 2.0.14<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/385\/mongodb-extension-2-1-12-released\" rel=\"noopener noreferrer nofollow\">MongoDB 2.1.12<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/386\/smarty-extension-2-0-10-released\" rel=\"noopener noreferrer nofollow\">Smarty 2.0.10<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043e Bootstrap 4.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/377\/bootstrap-5-extension-version-2-0-0-released\" rel=\"noopener noreferrer nofollow\">\u0420\u0435\u043b\u0438\u0437\u043d\u0443\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Bootstrap 5<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u0440\u0430\u0437\u044b Docker \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043e XDebug 3.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii2-apidoc\" rel=\"noopener noreferrer nofollow\">\u043f\u0430\u043a\u0435\u0442\u0435 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e API<\/a>\u00a0\u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 PHP 8. \u041c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u044d\u0442\u0438\u043c. \u0410 \u043f\u043e\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 PHP 7.<\/p>\n<h3>\u200b\u00a0Yii 3<\/h3>\n<p>\u200b\u00a0\u0420\u0435\u043b\u0438\u0437\u044b \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/365\/yii-event-1-0-0\" rel=\"noopener noreferrer nofollow\">Yii event<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/366\/error-handler-1-0-0\" rel=\"noopener noreferrer nofollow\">Error handler<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/367\/assets-1-0-0\" rel=\"noopener noreferrer nofollow\">Assets<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/370\/ratelimiter-1-0-0\" rel=\"noopener noreferrer nofollow\">Rate limiter<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/371\/data-response-1-0-0\" rel=\"noopener noreferrer nofollow\">Data response<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/372\/view-1-0-0\" rel=\"noopener noreferrer nofollow\">View<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/374\/yii-view-1-0-0\" rel=\"noopener noreferrer nofollow\">Yii view<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/373\/view-twig-renderer-1-0-0\" rel=\"noopener noreferrer nofollow\">View Twig renderer<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/375\/mailer-1-0-0-and-swiftmailer-1-0-0\" rel=\"noopener noreferrer nofollow\">Mailer \u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u0434\u043b\u044f SwiftMailer<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/376\/email-log-target-1-0-0\" rel=\"noopener noreferrer nofollow\">Email log target<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/368\/cookies-1-2-0\" rel=\"noopener noreferrer nofollow\">Cookies 1.2.0<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/364\/translator-1-0-0-and-related-packages\" rel=\"noopener noreferrer nofollow\">Translator 1.0.0 \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/387\/ratelimiter-2-0-0\" rel=\"noopener noreferrer nofollow\">Rate limiter 2.0.0<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.yiiframework.com\/news\/388\/mutex-and-adapters-1-0-0\" rel=\"noopener noreferrer nofollow\">Mutex \u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b 1.0.0<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043d\u043e\u0441\u0438\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u0442\u0447-\u0440\u0435\u043b\u0438\u0437\u044b \u0438 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u043f\u0440\u043e \u043d\u0438\u0445. \u042d\u0442\u043e \u043e\u0442\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f, \u0430 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0442\u0430\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439.<\/p>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0443\u0431\u0438\u043b\u0438:<\/p>\n<ul>\n<li>\n<p>yiisoft\/serializer.<\/p>\n<\/li>\n<li>\n<p>yiisoft\/container-proxy.<\/p>\n<\/li>\n<li>\n<p>yiisoft\/yii-debug-frontend (\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0434\u0430\u043b\u0435\u0435 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 &#171;Debugger&#187;).<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0444\u043e\u043a\u0443\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u2014\u00a0<a href=\"https:\/\/github.com\/yiisoft\/factory\" rel=\"noopener noreferrer nofollow\">yiisoft\/factory<\/a>\u00a0\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/di\" rel=\"noopener noreferrer nofollow\">yiisoft\/di<\/a>. \u041e\u043d\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 11 \u0438 31 \u0440\u0435\u043b\u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<h4>\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430<\/h4>\n<p>\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/package-template\/pull\/45\" rel=\"noopener noreferrer nofollow\">\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u044b \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u043f\u043e\u043b\u043d\u043e\u0447\u044c<\/a>\u00a0\u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043f\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0443. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0430\u043a\u0435\u0442 \u0440\u0430\u0437\u043b\u043e\u043c\u0430\u043b\u0441\u044f \u0438\u0437-\u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438. \u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u0430\u044f \u0434\u043b\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u041f\u043e\u043a\u0430 \u043d\u043e\u0447\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432.<\/p>\n<p><a href=\"https:\/\/github.com\/yiisoft\/config\" rel=\"noopener noreferrer nofollow\">Yii Config<\/a>\u00a0\u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0440\u0435\u0431\u0443\u0435\u0442 Composer 2. \u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Composer \u043d\u0435 \u0432\u0438\u0434\u0438\u0442 \u0441\u0432\u0435\u0436\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043d\u0430 packagist \u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c Yii 3.<\/p>\n<h4>Yii development tool<\/h4>\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u043d\u0435\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii-dev-tool\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c:<\/p>\n<ul>\n<li>\n<p>\u0411\u044b\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u00a0<code>list<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043c\u043b\u0438\u043d\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043b\u044e\u0431\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438\u00a0<code>yiisoft<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h4>\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0434\u0435\u043c\u043e<\/h4>\n<p>\u041c\u044b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b\u0438 &#171;yii-demo&#187; \u0432 \u043f\u0440\u043e\u0441\u0442\u043e &#171;demo&#187;. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0434\u0435\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/demo\" rel=\"noopener noreferrer nofollow\">yiisoft\/demo<\/a>\u00a0&#8212; \u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0434\u0435\u043c\u043a\u0430. HTML \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/demo-api\" rel=\"noopener noreferrer nofollow\">yiisoft\/demo-api<\/a>\u00a0&#8212; \u0414\u0435\u043c\u043a\u0430 REST API.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/app\" rel=\"noopener noreferrer nofollow\">yiisoft\/app<\/a>\u00a0&#8212; \u0428\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 HTML.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/app-api\" rel=\"noopener noreferrer nofollow\">yiisoft\/app-api<\/a>\u00a0&#8212; \u0428\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 REST API.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f PHP \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0438 \u0434\u0435\u043c\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u0430 \u0434\u043e PHP 8.0. \u041f\u0430\u043a\u0435\u0442\u044b \u0432 \u044d\u0442\u043e\u043c \u043f\u043b\u0430\u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 7.4+ \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0431\u0443\u0442\u0441\u0442\u0440\u0430\u043f \u0432\u00a0<a href=\"https:\/\/github.com\/yiisoft\/demo\/blob\/master\/config\/bootstrap.php\" rel=\"noopener noreferrer nofollow\">config\/bootstrap.php<\/a>,\u00a0<a href=\"https:\/\/github.com\/yiisoft\/demo\/blob\/master\/config\/bootstrap-web.php\" rel=\"noopener noreferrer nofollow\">config\/bootstrap-web.php<\/a>\u00a0\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/demo\/blob\/master\/config\/bootstrap-console.php\" rel=\"noopener noreferrer nofollow\">config\/bootstrap-console.php<\/a>. \u0422\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0430\u043a\u0438\u0435 callable, \u043a\u0430\u043a\u00a0<code>function (ContainerInterface $container): void<\/code>. \u041e\u043d\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u044f\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u00a0<code>composer run serve<\/code>. \u0414\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0436\u0435, \u0447\u0442\u043e \u0438\u00a0<code>.\/yii serve<\/code>.<\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439. \u041c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0451 \u0435\u0449\u0451 \u043f\u0440\u043e\u0449\u0435.<\/p>\n<h4>DI \u0438 Factory<\/h4>\n<p>\u041a\u0430\u043a DI, \u0442\u0430\u043a \u0438 factory \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 \u0440\u0435\u043b\u0438\u0437\u044b \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e, \u0438\u043c\u0438. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043e\u043a:<\/p>\n<ul>\n<li>\n<p>\u041e\u0431\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u0441\u0442\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u0433\u0438\u043c\u0438. \u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0443\u0431\u0440\u0430\u043b\u0438 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c defintion-\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0441\u0442\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u044b\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043b\u044c\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0438 \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u043a\u043e\u0434\u0430 \u0442\u0435\u0441\u0442\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440:<\/p>\n<ul>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0438 delegate lookup. \u041e\u043d\u0438 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/di#using-service-providers\" rel=\"noopener noreferrer nofollow\">\u0421\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b<\/a>\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 (<code>DeferredServiceProvider<\/code>\u00a0\u0438\u00a0<code>ServiceProvider<\/code>). \u041e\u043d\u0438 \u043d\u0430\u0432\u0435\u044f\u043d\u044b\u00a0<a href=\"https:\/\/github.com\/container-interop\/service-provider\" rel=\"noopener noreferrer nofollow\">container-interop<\/a>, \u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0442 \u0435\u0433\u043e \u043f\u043e\u0442\u043e\u043c\u0443 \u043a\u0430\u043a \u0432 \u0447\u0435\u0440\u043d\u043e\u0432\u0438\u043a\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f definition-\u043e\u0432 \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u043d \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/di\/pull\/241\" rel=\"noopener noreferrer nofollow\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b\u00a0<\/a><code>ReferencesArray<\/code>\u00a0\u0438\u00a0<code>DynamicReferencesArray<\/code>.\u00a0<a href=\"https:\/\/github.com\/yiisoft\/data-response\/pull\/60\" rel=\"noopener noreferrer nofollow\">\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0438<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0424\u0430\u0431\u0440\u0438\u043a\u0430:<\/p>\n<ul>\n<li>\n<p>\u0412\u00a0<code>Factory::create()<\/code>\u00a0\u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, definition \u043a\u043b\u0430\u0441\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p>\u0424\u0430\u0431\u0440\u0438\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 PSR\u00a0<code>ContainerInterface<\/code>.\u00a0<code>Factory::get()<\/code>\u00a0\u0438\u00a0<code>Factory::has()<\/code>\u00a0\u0431\u044b\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041e\u0447\u0435\u0440\u0435\u0434\u0438<\/h4>\n<ul>\n<li>\n<p>\u0423\u043f\u0440\u043e\u0441\u0442\u0438\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0431\u0440\u043e\u043a\u0435\u0440 AMQP, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0430\u043c\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u043b\u043e \u0443\u0434\u043e\u0431\u043d\u0435\u0439 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u043d\u0430\u043b\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0410\u0434\u0430\u043f\u0442\u0435\u0440 AMQP \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u043b\u0430\u0435\u0442 ack \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c.<\/p>\n<\/li>\n<\/ul>\n<h4>HTML<\/h4>\n<p><a href=\"https:\/\/github.com\/yiisoft\/html\/blob\/master\/CHANGELOG.md\" rel=\"noopener noreferrer nofollow\">\u0413\u043e\u0442\u043e\u0432\u0438\u043c 2.0.0<\/a>. \u0411\u0443\u0434\u0443\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0433\u0438, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e HTML \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 API.<\/p>\n<h4>Middleware dispatcher<\/h4>\n<p>\u041f\u0430\u043a\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u043e\u0442\u043e\u0432 \u043a \u0440\u0435\u043b\u0438\u0437\u0443. \u041c\u044b \u0435\u0449\u0451 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0438\u0434\u0435\u0438 \u043f\u043e \u0435\u0433\u043e \u0434\u0438\u0437\u0430\u0439\u043d\u0443, \u043d\u043e \u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043f\u043e\u0447\u0442\u0438 \u0438\u0434\u0435\u0430\u043b\u0435\u043d.<\/p>\n<ul>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442\u00a0<a href=\"https:\/\/github.com\/yiisoft\/middleware-dispatcher\" rel=\"noopener noreferrer nofollow\">\u043e\u0431\u0437\u0430\u0432\u0451\u043b\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u0432 readme<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. Middleware \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438 \u043a\u044d\u0448\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f RoadRunner \u0438 Swoole.<\/p>\n<\/li>\n<\/ul>\n<h4>\u0412\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440<\/h4>\n<p>\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u043e\u0432 \u0438\u0437\u043c\u0435\u043d\u0451\u043d:<\/p>\n<pre><code>\/\/ \u0434\u043e (new Number())->integer()->min(44);  \/\/ \u043f\u043e\u0441\u043b\u0435 Number::rule()->integer()->min(44); <\/code><\/pre>\n<h4>Yii Sentry<\/h4>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii-sentry\" rel=\"noopener noreferrer nofollow\">\u043f\u0430\u043a\u0435\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Sentry<\/a>.\u00a0<a href=\"https:\/\/sentry.io\/\" rel=\"noopener noreferrer nofollow\">Sentry<\/a>\u00a0&#8212; \u0441\u0435\u0440\u0432\u0438\u0441 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0438 \u043b\u043e\u0433\u043e\u0432. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0441 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u0432\u0435\u0431, \u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u044c.<\/p>\n<h4>\u0412\u0438\u0434\u0436\u0435\u0442\u044b<\/h4>\n<ul>\n<li>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c friendly exception-\u044b.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a\u0430\u043a \u0443\u00a0<a href=\"https:\/\/github.com\/yiisoft\/widget\" rel=\"noopener noreferrer nofollow\">widget<\/a>, \u0442\u0430\u043a \u0438 \u0443\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii-widgets\" rel=\"noopener noreferrer nofollow\">Yii widgets<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii-widgets\/pull\/36\" rel=\"noopener noreferrer nofollow\">\u0412\u0441\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u044b Yii \u0441\u0442\u0430\u043b\u0438 \u0438\u043c\u043c\u0443\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u043c\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043e \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u0442\u0435\u0441\u0442\u0430\u043c\u0438 \u0438 \u043e\u0431\u0449\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u043b\u0438 \u0432\u0438\u0434\u0436\u0435\u0442\u044b Bulma.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a<\/h4>\n<ul>\n<li>\n<p>Friendly exception-\u044b \u0442\u0435\u043f\u0435\u0440\u044c\u00a0<a href=\"https:\/\/github.com\/yiisoft\/error-handler\/pull\/45\" rel=\"noopener noreferrer nofollow\">\u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043f\u0440\u0438\u044f\u0442\u043d\u0435\u0439<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/error-handler\/issues\/44\" rel=\"noopener noreferrer nofollow\">\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c markdown \u0438 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/package-template\/pull\/45\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432 \u043b\u043e\u0433<\/a>.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0438<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/config#environments\" rel=\"noopener noreferrer nofollow\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u0425\u044d\u0448\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435\u00a0<code>dist.lock<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<h4>\u0414\u0435\u0431\u0430\u0433\u0433\u0435\u0440<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u0443\u0431\u0438\u043b\u0438\u00a0<a href=\"https:\/\/github.com\/yiisoft\/yii-debug-frontend\" rel=\"noopener noreferrer nofollow\">\u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043e\u0434 Angular<\/a>\u00a0\u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii-debug\" rel=\"noopener noreferrer nofollow\">yiisoft\/yii-debug<\/a>\u00a0\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u0437 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii-debug-api\" rel=\"noopener noreferrer nofollow\">yiisoft\/yii-debug-api<\/a>\u00a0\u0440\u0430\u0437\u0434\u0430\u0451\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u0447\u0435\u0440\u0435\u0437 REST API.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii-debug-viewer\" rel=\"noopener noreferrer nofollow\">yiisoft\/yii-debug-viewer<\/a>\u00a0&#8212; \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0430\u043d\u0435\u043b\u044c \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043e\u0434 Angular. \u041f\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u043c\u043e \u0441 Yii2.<\/p>\n<\/li>\n<\/ul>\n<p>Viewer \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0434\u0435\u043c\u043e \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u0430\u043a\u00a0<code>http:\/\/127.0.0.1:8080\/debug\/viewer<\/code>, \u0433\u0434\u0435\u00a0<code>127.0.0.1:8080<\/code>\u00a0&#8212; \u0432\u0430\u0448\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0445\u043e\u0441\u0442 \u0438 \u043f\u043e\u0440\u0442.<\/p>\n<h4>\u0420\u043e\u0443\u0442\u0435\u0440<\/h4>\n<p>\u0411\u044b\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u044b \u043a\u0430\u043a \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433, \u0442\u0430\u043a \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u043c API.<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u043e\u0443\u0442\u043e\u0432 IDE \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0432\u0438\u0434\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0440\u043e\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u00a0<code>Yiisoft\\Router\\CurrentRoute<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0445\u043e\u0441\u0442 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u0447\u0435\u0440\u0435\u0437\u00a0<code>Group::host()<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043b\u044f \u0438\u043c\u0435\u043d\u0438 \u0440\u043e\u0443\u0442\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u044b\u00a0<code>Group::namePrefix()<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h3>\u200b\u00a0\u041d\u043e\u0432\u0430\u044f \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/docs\/blob\/master\/020-package-release-criteria.md\" rel=\"noopener noreferrer nofollow\">020 &#8212; Package release criteria<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiisoft\/docs\/blob\/master\/021-changelog-upgrade.md\" rel=\"noopener noreferrer nofollow\">021 &#8212; Changelog and upgrade<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435\u00a0<a href=\"https:\/\/github.com\/yiisoft\/docs\/blob\/master\/guide\/en\/README.md\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/a>\u00a0\u0438 README \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<h3>\u200b\u00a0\u041f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/yiifeed.com\/news\/512\/intoduction-to-the-mvc-programming-paradigm-through-yii2\" rel=\"noopener noreferrer nofollow\">Introduction to the MVC programming paradigm through Yii2<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/kaloyan.info\/writing\/2021\/05\/31\/benchmark-php-routing.html\" rel=\"noopener noreferrer nofollow\">Real World Benchmark PHP Routing<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/kaloyan.info\/writing\/2021\/06\/07\/more-php-routing-benchmarks.html\" rel=\"noopener noreferrer nofollow\">More Real World PHP Routing Benchmarks<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/bizley\/benchmark-php-routing\" rel=\"noopener noreferrer nofollow\">Benchmark PHP Routing with Yii 2 results<\/a>. We use FastRoute in Yii3.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/xepozz\/yii-temporal-demo\" rel=\"noopener noreferrer nofollow\">A demo of Temporal + Yii3<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/lukemerrett.com\/c4-diagrams-as-code-architectural-joy\/\" rel=\"noopener noreferrer nofollow\">C4, Diagrams as Code &amp; Architectural Joy<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/tactician.thephpleague.com\/installation\/#yii-framework-2\" rel=\"noopener noreferrer nofollow\">Tactician got Yii support<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.reddit.com\/r\/PHP\/comments\/o9fpcx\/nocolor_validate_the_architecture_of_your_php\/\" rel=\"noopener noreferrer nofollow\">NoColor \u2014 validate the architecture of your PHP project<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.packagist.com\/sunsetting-the-php-version-stats-blog-series\/\" rel=\"noopener noreferrer nofollow\">Composer sunsetting the PHP Version Stats Blog Series<\/a>\u00a0and\u00a0<a href=\"https:\/\/packagist.org\/packages\/yiisoft\/yii2\/php-stats\" rel=\"noopener noreferrer nofollow\">Yii2 stats<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/matthiasnoback.nl\/2021\/05\/dont-test-constructors\/\" rel=\"noopener noreferrer nofollow\">Don&#8217;t test constructors<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/haydenjames.io\/php-fpm-tuning-using-pm-static-max-performance\/\" rel=\"noopener noreferrer nofollow\">PHP-FPM tuning: Using &#171;pm static&#187; for max performance<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/microservices.io\/\" rel=\"noopener noreferrer nofollow\">Microservice Architecture<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/playlist?list=PLg9Kjjye-m1g_eXpdaifUqLqALLqZqKd4\" rel=\"noopener noreferrer nofollow\">Xdebug 3 videos<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=s2wyJc4h1U4\" rel=\"noopener noreferrer nofollow\">samdark reviewing Yii issues<\/a>.<\/p>\n<\/li>\n<\/ul>\n<h3>\u200b\u00a0\u0421\u043f\u0430\u0441\u0438\u0431\u043e!<\/h3>\n<p>\u0425\u043e\u0447\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0441\u0435\u043c \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430\u043c \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u0442\u0430\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 Yii 3. \u0412\u043c\u0435\u0441\u0442\u0435 \u0443 \u043d\u0430\u0441 \u0432\u0441\u0451 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f!<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/craftcms.com\/\" rel=\"noopener noreferrer nofollow\">CraftCMS<\/a>\u00a0&#8212; \u041e\u0442\u043b\u0438\u0447\u043d\u0430\u044f OpenSource CMS \u043d\u0430 Yii2.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.onetwist.com\/\" rel=\"noopener noreferrer nofollow\">Onetwist Software<\/a>\u00a0&#8212; \u0423\u0441\u043b\u0443\u0433\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.skillshare.com\/\" rel=\"noopener noreferrer nofollow\">SkillShare<\/a>\u00a0&#8212; \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u043c \u043d\u0430\u0432\u044b\u043a\u0430\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.betteridge.com\/\" rel=\"noopener noreferrer nofollow\">Betteridge<\/a>\u00a0&#8212; \u042e\u0432\u0435\u043b\u0438\u0440\u043d\u044b\u0435 \u0438\u0437\u0434\u0435\u043b\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.dmstr.io\/en\" rel=\"noopener noreferrer nofollow\">dmstr<\/a>\u00a0&#8212; \u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Docker.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.humhub.com\/en\" rel=\"noopener noreferrer nofollow\">HumHub<\/a>\u00a0&#8212; OpenSource \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.jetbrains.com\/\" rel=\"noopener noreferrer nofollow\">JetBrains<\/a>\u00a0&#8212; \u041e\u0442\u043b\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/skin.club\/\" rel=\"noopener noreferrer nofollow\">Skin.Club<\/a>\u00a0&#8212; \u0420\u044b\u043d\u043e\u043a \u0441\u043a\u0438\u043d\u043e\u0432 \u0434\u043b\u044f CS:GO.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.efko.ru\/\" rel=\"noopener noreferrer nofollow\">EFKO Group<\/a>\u00a0&#8212; \u0444\u0443\u0434\u0442\u0435\u0445, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043f\u0438\u0442\u0430\u043d\u0438\u044f, \u0438 \u0432\u0435\u043d\u0447\u0443\u0440\u043d\u044b\u0435 \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u0438. \u0421 \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0435\u0449\u0451 \u0438 \u042d\u0424\u041a\u041e \u0426\u0438\u0444\u0440\u043e\u0432\u044b\u0435 \u0420\u0435\u0448\u0435\u043d\u0438\u044f, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0441\u0442\u0443\u0449\u0430\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u0430\u044f IT-\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u042d\u0424\u041a\u041e.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u0440\u043e\u043c\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u00a0<a href=\"https:\/\/opencollective.com\/yiisoft\" rel=\"noopener noreferrer nofollow\">\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438<\/a>.<\/p>\n<p>\u200b\u00a0\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0442\u0435\u043c, \u043a\u0442\u043e \u043f\u043e\u043c\u043e\u0433 Yii 3 \u043a\u043e\u0434\u043e\u043c:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/devanych\" rel=\"noopener noreferrer nofollow\">Evgeniy Zyubin<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/vjik\" rel=\"noopener noreferrer nofollow\">Sergei Predvoditelev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/yiiliveext\" rel=\"noopener noreferrer nofollow\">yiiliveext<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/terabytesoftw\" rel=\"noopener noreferrer nofollow\">Wilmer Arambula<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/rustamwin\" rel=\"noopener noreferrer nofollow\">Rustam Mamadaminov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/xepozz\" rel=\"noopener noreferrer nofollow\">Dmitry Derepko<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/machour\" rel=\"noopener noreferrer nofollow\">Mehdi Achour<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/darkdef\" rel=\"noopener noreferrer nofollow\">Valerii Gorbachev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/viktorprogger\" rel=\"noopener noreferrer nofollow\">Viktor Babanov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Fantom409\" rel=\"noopener noreferrer nofollow\">Anton Samoylenko<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/toir427\" rel=\"noopener noreferrer nofollow\">Toir Tuychiev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/thenotsoft\" rel=\"noopener noreferrer nofollow\">Alexander Nekrasov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Tarekajaj\" rel=\"noopener noreferrer nofollow\">Tarek K. Ajaj<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Nex-Otaku\" rel=\"noopener noreferrer nofollow\">Leonid Chernenko<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/strorch\" rel=\"noopener noreferrer nofollow\">Maksym Storchak<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/roxblnfk\" rel=\"noopener noreferrer nofollow\">Aleksei Gagarin<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/sanmai\" rel=\"noopener noreferrer nofollow\">Alexey Kopytko<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/hiqsol\" rel=\"noopener noreferrer nofollow\">Andrii Vasyliev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/razonyang\" rel=\"noopener noreferrer nofollow\">Razon Yang<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/kamarton\" rel=\"noopener noreferrer nofollow\">Somogyi M\u00e1rton<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/mj4444ru\" rel=\"noopener noreferrer nofollow\">mj4444<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Desure85\" rel=\"noopener noreferrer nofollow\">Dmitry Egorov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Mister-42\" rel=\"noopener noreferrer nofollow\">Mister 42<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/ditibal\" rel=\"noopener noreferrer nofollow\">ditibal<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/igbanam\" rel=\"noopener noreferrer nofollow\">Igbanam Ogbuluijah<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Julian-B90\" rel=\"noopener noreferrer nofollow\">Julian Schmidt<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/kafkiansky\" rel=\"noopener noreferrer nofollow\">kafkiansky<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/iamsaint\" rel=\"noopener noreferrer nofollow\">Alexey Chernousov<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/cebe\" rel=\"noopener noreferrer nofollow\">Carsten Brandt<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/romkatsu\" rel=\"noopener noreferrer nofollow\">Roman Tsurkanu<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/kaznovac\" rel=\"noopener noreferrer nofollow\">Marko Kaznovac<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/skugarev\" rel=\"noopener noreferrer nofollow\">Andrey Skugarev<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/schmunk42\" rel=\"noopener noreferrer nofollow\">Tobias Munk<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/573940\/\"><\/a><\/br><\/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-414272","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/414272","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=414272"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/414272\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=414272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=414272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=414272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}