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")