Yii2. Входные скрипты
![]()
Если Вам понравился данный материал, поделитесь им с вашими друзьями в соц сетях
В Yii существует два вида приложений: веб приложение и консольное приложение.
Входные скрипты — это первое звено в процессе начальной загрузки любого из этих видов приложения. Соответственно веб приложение занимается обработкой - веб запросов, а консольное приложение – консольных команд.
Пользователи делают запрос к входному скрипту, входной скрипт считывает конфигурацию приложения, и создает объект приложения передавая в него полученную конфигурацию.
Давайте рассмотрим код входных скриптов веб и консольного приложений.
Код входного скрипта веб приложения шаблона "basic"
(файл "web/index.php")
<?php // объявление глобальных констант // comment out the following two lines when deployed to production defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV', 'dev'); // регистрация загрузчика классов Composer require(__DIR__ . '/../vendor/autoload.php'); // подключение файла класса Yii require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); // загрузка конфигурации приложения $config = require(__DIR__ . '/../config/web.php'); // создание и конфигурирование экземпляра приложения, // а также вызов метода для обработки входящего запроса (new yii\web\Application($config))->run();
Код входного скрипта консольного приложения шаблона "basic"
(файл "yii")
#!/usr/bin/env php <?php // объявление глобальных констант defined('YII_DEBUG') or define('YII_DEBUG', true); // fcgi не имеют констант по умолчанию STDIN и STDOUT, они определяются по умолчанию defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); // регистрация загрузчика классов Composer require(__DIR__ . '/vendor/autoload.php'); // подключение файла класса Yii require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php'); // загрузка конфигурации приложения $config = require(__DIR__ . '/config/console.php'); // создание и конфигурирование экземпляра приложения $application = new yii\console\Application($config); // вызов метода для обработки входящего запроса $exitCode = $application->run(); exit($exitCode);
Объявление глобальных констант
YII_DEBUG — указывает, что приложение работает в отладочном режиме. Находясь в отладочном режиме, приложение собирает больше информации в логи и покажет детальный стек вызовов в случае возникновения исключения. Соответственно, отладочный режим должен быть использован только в процессе разработки.
(Доступные значения: "TRUE", "FALSE" — по умолчанию)
YII_ENV — указывает в каком окружении запущено приложение.
(Доступные значения: "prod" - по умолчанию, "dev", "test")
YII_ENABLE_ERROR_HANDLER — указывает нужно ли включать имеющийся в Yii обработчик ошибок.
(Доступные значения: "TRUE" — по умолчанию, "FALSE")