Содержание
Навигация
Общие положения
Подавляющее большинство веб-приложений в мире (около 72 %) используют PHP в качестве языка программирования на серверной стороне1. Широкое распространение PHP в области разработки веб-приложений во многом связано с особенностями этого языка программирования, среди которых можно отдельно отметить: динамическую типизацию; высокую скорость работы веб-приложений; хорошую обратную совместимость; активное сообщество разработчиков; большое количество компонентов и библиотек с открытым исходным кодом.
Кроме того, PHP активно развивается. Изначально (в 1994 году) PHP представлял собой простой набор CGI-скриптов, написанных на языке программирования C. Начиная с третьей версии (1998 год) PHP начал поддерживать объектно-ориентированный синтаксис2. В седьмой версии PHP (2015 год) был обеспечен существенный прирост производительности (скорость выполнения приложений увеличилась примерно в 2 раза по сравнению с PHP 5.6). На данный момент самая последняя стабильная версия PHP – 8.5.33, которая включает все необходимые для разработки приложений конструкции языка.
Популярность PHP также объясняется тем, что на этом языке программирования разработана система управления контентом WordPress (первый релиз которой состоялся в 2003 году)4. В настоящее время WordPress представляет собой самую распространенную систему управления контентом в мире5 (количество сайтов, разработанных на базе этой платформы, превысило 36 миллионов)6.
Несмотря на значительное распространение системы управления контентом WordPress, разработчикам требовалось больше гибкости в разработке веб-приложений. Это привело к тому, что, начиная примерно с 2005 года, разработчики все чаще стали разрабатывать свои приложения с использованием фреймворков. В 2005 году состоялись релизы PHP-фреймворков Symfony7 и CakePHP8. В 2006 году – CodeIgniter9, в 2008 году состоялся релиз первой версии фреймворка Yii10. В 2011 году был разработан фреймворк Laravel11. Стабильный релиз фреймворка Yii2 был выпущен в 2014 году12.
В 2016 году состоялся первый стабильный релиз менеджера зависимостей Composer13 (разработка которого началась в 2011 году14). Наличие универсального менеджера зависимостей для PHP с автоматической установкой и обновлением библиотек, интеграцией с официальным репозиторием PHP-пакетов Packagist15 позволило наиболее эффективно применять компонентный подход при разработке приложений на PHP. По этим причинам менеджер зависимостей Composer стал отраслевым стандартом и был интегрирован во все популярные PHP-фреймворки, включая Yii2.
На сайте trends.builtwith.com представлены тенденции использования веб-технологий. Согласно данным, представленным на этом сайте, наиболее распространенным PHP-фреймворком в мире является Laravel. Общее количество веб-приложений, разработанных с использованием фреймворка Laravel в мире, составляет 709 236, в России – 16 24416. Однако в России наиболее распространенным фреймворком является Yii. Общее количество веб-приложений, разработанных с использованием фреймворка Yii в мире, составляет 93 709, в России – 26 14517.
Особенность Yii2 заключается в том, что этот фреймворк предоставляет инженеру программного обеспечения удобство и высокую скорость разработки, отладки, профилирования, а также включает встроенные инструменты оптимизации производительности приложения. Yii2 сегодня позволяет разрабатывать веб-приложения любой сложности. Приведенные обстоятельства обусловливают популярность этого фреймворка.
На базе Yii2 разработано достаточно много приложений, которые нужно поддерживать, добавлять новую функциональность. Это приводит к усложнению таких проектов. При этом следует также обеспечить высокую скорость работы приложений. По этой причине неизбежно возникает необходимость оптимизации производительности таких приложений. Соответствующая задача усложняется с ростом посещаемости приложений и увеличением размера баз данных. Приведенные обстоятельства часто оказываются следствием повышения популярности приложения.
В конце декабря 2025 года состоялся релиз третьей версии фреймворка Yii18, однако разработчики третьей версии не обеспечили обратную совместимость с предыдущей версией фреймворка. Другими словами, третья версия Yii представляет собой новый фреймворк. Перейти со второй версии на третью не представляется возможным. Разработчикам программного обеспечения, которые решат перейти со второй версии фреймворка Yii на третью, придется разрабатывать приложение с нуля и отказываться от значительной части ранее написанного кода.
В настоящее время рано делать выводы относительно того, будет ли третья версия фреймворка такой же популярной, как вторая и будут ли разработчики создавать новые и переписывать существующие приложения с использованием новой (третьей) версии фреймворка Yii. По этой причине, как в настоящее время, так и в среднесрочной перспективе задача оптимизации производительности приложений, разработанных с использованием второй версии фреймворка Yii, представляется наиболее актуальной.
Также важно отметить, что оптимизация производительности веб-приложения – это комплексная задача. Для достижения наилучших результатов в области повышения производительности приложений необходимо: использовать встроенные возможности языка программирования и фреймворка; настроить инфраструктуру наиболее производительным образом; оптимизировать базу данных; а также применить способы оптимизации клиентской части приложения (фронтенда). В настоящее время эти сведения разрозненные и находятся в разных источниках. По этой причине возникает необходимость систематизации способов оптимизации производительности веб-приложений, разработанных с использованием фреймворка Yii2.
Настоящая работа представляет собой комплексное исследование способов оптимизации производительности веб-приложений, разработанных на PHP с использованием фреймворка Yii2. В рамках настоящей работы мы руководствуемся системным и широким подходами к оптимизации производительности веб-приложений, не ограничиваемся исключительно оптимизацией на уровне фреймворка, а включаем также оптимизацию на уровнях серверной инфраструктуры, клиентской части приложения (фронтенда) и базы данных. Именно такой подход к оптимизации производительности сегодня в наибольшей степени востребован как в научных исследованиях (с учетом недостаточности таких исследований), так и в практической деятельности специалистов в области программной инженерии.
W3Techs. Статистика использования языков программирования. [Электронный ресурс]. – URL: https://w3techs.com/technologies/overview/programming_language (дата обращения: 16.02.2026). ↩
История PHP и смежных проектов. [Электронный ресурс]. – URL: PHP https://www.php.net/manual/ru/history.php (дата обращения: 16.02.2026). ↩
Архив новостей PHP 2026 года. [Электронный ресурс]. – URL: https://www.php.net/releases/index.php (дата обращения: 16.02.2026). ↩
История WordPress. [Электронный ресурс]. – URL: https://wordpress.org/about/history/ (дата обращения: 16.02.2026). ↩
W3Techs. Обзоры мировых веб-технологий. [Электронный ресурс]. – URL: https://w3techs.com/ (дата обращения: 16.02.2026). ↩
Статистика использования WordPress. [Электронный ресурс]. – URL: https://trends.builtwith.com/cms/WordPress (дата обращения: 16.02.2026). ↩
The definitive Guide to Symfony. [Электронный ресурс]. – URL: https://symfony.com/legacy/doc/book/1_0/en/01-Introducing-Symfony (дата обращения: 16.02.2026). ↩
Introduction to CakePHP. [Электронный ресурс]. – URL: https://legacybook.cakephp.org/1.1/en/introduction-to-cakephp.html (дата обращения: 16.02.2026). ↩
CodeIgniter User Guide. [Электронный ресурс]. – URL: https://codeigniter.com/userguide2/changelog.html (дата обращения: 16.02.2026). ↩
Официальный форум фреймворка Yii. [Электронный ресурс]. – URL: https://forum.yiiframework.com/t/yii-1-0-0-is-released/13877 (дата обращения: 16.02.2026). ↩
Laravel Versions. [Электронный ресурс]. – URL: https://laravelversions.com/en (дата обращения: 16.02.2026). ↩
Официальный GitHub-репозиторий фреймворка Yii. [Электронный ресурс]. – URL: https://github.com/yiisoft/yii2/releases/tag/2.0.0 (дата обращения: 16.02.2026). ↩
Официальный GitHub-репозиторий менеджера зависимостей для PHP Composer. [Электронный ресурс]. – URL: https://github.com/composer/composer/releases/tag/1.0.0 (дата обращения: 16.02.2026). ↩
Официальный GitHub-репозиторий менеджера зависимостей для PHP Composer. [Электронный ресурс]. – URL: https://github.com/composer/composer (дата обращения: 16.02.2026). ↩
Официальный репозиторий PHP-пакетов Packagist. [Электронный ресурс]. – URL: https://packagist.org/ (дата обращения: 16.02.2026). ↩
Статистика использования фреймворка Laravel. [Электронный ресурс]. – URL: https://trends.builtwith.com/ru/framework/Laravel (дата обращения: 16.02.2026). ↩
Статистика использования фреймворка Yii. [Электронный ресурс]. – URL: https://trends.builtwith.com/ru/cms/Yii-Framework (дата обращения: 16.02.2026). ↩
Новости фреймворка Yii. [Электронный ресурс]. – URL: https://www.yiiframework.com/news/777/yii3-is-released (дата обращения: 16.02.2026). ↩
Coding is used in almost all aspects of life and work now, be it directly or indirectly. It’s not just for companies in the tech sector. “An increasing number of businesses rely on computer code,
Coding is used in almost all aspects of life and work now, be it directly or indirectly. It’s not just for companies in the tech sector. “An increasing number of businesses rely on computer code,
Coding is used in almost all aspects of life and work now, be it directly or indirectly. It’s not just for companies in the tech sector. “An increasing number of businesses rely on computer code,