Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Использование Yii в сторонних системах

Использование Yii в сторонних системах

Поскольку в Yii реализована масса полезных функций, они могут пригодиться при разработке или расширении сторонних систем, таких как WordPress и Joomla, или приложений, разработанных с помощью других PHP-фреймворков. Например, в сторонней системе можно задействовать класс [[yii\helpers\ArrayHelper]] или использовать функционал Active Record. Для этого обычно нужно сделать две вещи: установить Yii и подключить Yii.



Если сторонняя система использует для управления зависимостями Composer, Yii можно просто установить с помощью следующих команд:

composer global require "fxp/composer-asset-plugin:^1.3.1"
composer require yiisoft/yii2
composer install

Первая команда устанавливает composer asset plugin, который позволяет управлять зависимостями пакетов bower и npm через Composer. Даже если вы хотите воспользоваться слоем абстракции баз данных или другими элементами Yii, не связанными с ресурсами, этот плагин все равно придется установить, так как без него не установится пакет Yii. В разделе об установке Yii более подробно описана работа с Composer и даны решения проблем, которые могут возникнуть при установке.

Также можно скачать файл релиза Yii и распаковать его в директорию BasePath/vendor.

Далее следует изменить входной скрипт сторонней системы, поместив в его начало следующий код:

require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

$yiiConfig = require(__DIR__ . '/../config/yii/web.php');
new yii\web\Application($yiiConfig); // НЕ ВЫЗЫВАЙТЕ run() в этом месте

Как видите, этот код очень похож на код входного скрипта типичного приложения Yii. Единственное отличие заключается в том, что после создания экземпляра приложения не вызывается метод run(). Это связано с тем, что при вызове run() Yii захватывает контроль над процессом обработки запроса, что в данном случае не требуется, так как эту задачу выполняет существующее приложение.

Как и в случае с приложением Yii, нужно настроить экземпляр приложения исходя из окружения запущенной сторонней системы. Например, чтобы воспользоваться функционалом Active Record, нужно передать в компонент приложения db настройки для подключения к базе данных, которую использует сторонняя система.

Это позволит задействовать большинство функционала, который предоставляет Yii. Например, можно будет создавать классы типа Active Record, и с их помощью взаимодействовать с базой данных.

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'