Подтвердить что ты не робот

Как проверить, запущено ли приложение YII из консоли или из браузера?

Я новичок в структуре YII, и мне хотелось бы знать, есть ли способ узнать/проверить, запущены ли вы с консоли или в браузере?

Спасибо!

4b9b3361

Ответ 2

Вы также сможете:

echo get_class(Yii::app());

который расскажет вам, в каком типе приложения вы находитесь...

Ответ 3

Этот ответ немного запоздалый, но существует Yii-специфический способ сделать это:

В Yii1 вы можете сделать:

if (Yii::app() instanceof CConsoleApplication)

В Yii2 это будет:

 if (Yii::$app instanceof Yii\console\Application)

Надеюсь, что это полезно кому-то...

Ответ 4

Самый эффективный способ, по-видимому, определяет в корневом файле index.php эту строку:

define ('WEBAPP', true)

Позже вы можете проверить любую точку приложения

if (defined('WEBAPP')) {
 echo "This is webapp";
} else {
  echo "app was launched via console";
}

Проверено в Yii 1.7

Ответ 5

Вы можете использовать

if(is_a(Yii::$app,'yii\console\Application'))

for console, and

if(is_a(Yii::$app,'yii\web\Application'))

for web.

fooobar.com/questions/489615/...

Ответ 6

проверить Yii:: $app- > id

  • при запуске с консоли Yii:: $app- > id = 'app-console'
  • при запуске из интерфейса (браузер) Yii:: $app- > id = 'app-frontend'