Ответ 1
Точно так же вы определяете, запускается ли приложение PHP в консоли или нет.
Каков канонический способ определения командной строки и HTTP-выполнения PHP script?
Я новичок в структуре YII, и мне хотелось бы знать, есть ли способ узнать/проверить, запущены ли вы с консоли или в браузере?
Спасибо!
Точно так же вы определяете, запускается ли приложение PHP в консоли или нет.
Каков канонический способ определения командной строки и HTTP-выполнения PHP script?
Вы также сможете:
echo get_class(Yii::app());
который расскажет вам, в каком типе приложения вы находитесь...
Этот ответ немного запоздалый, но существует Yii-специфический способ сделать это:
В Yii1 вы можете сделать:
if (Yii::app() instanceof CConsoleApplication)
В Yii2 это будет:
if (Yii::$app instanceof Yii\console\Application)
Надеюсь, что это полезно кому-то...
Самый эффективный способ, по-видимому, определяет в корневом файле index.php эту строку:
define ('WEBAPP', true)
Позже вы можете проверить любую точку приложения
if (defined('WEBAPP')) {
echo "This is webapp";
} else {
echo "app was launched via console";
}
Проверено в Yii 1.7
Вы можете использовать
if(is_a(Yii::$app,'yii\console\Application'))
for console, and
if(is_a(Yii::$app,'yii\web\Application'))
for web.
проверить Yii:: $app- > id