12

私は YII フレームワークを初めて使用します。コンソールまたはブラウザーで実行しているかどうかを確認/確認する方法があるかどうかを知りたいですか?

ありがとう!

4

7 に答える 7

11

この返信は少し遅れていますが、これを行う Yii 固有の方法があります。

Yii1 では次のことができます。

if (Yii::app() instanceof CConsoleApplication)

Yii2 では、次のようになります。

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

それが誰かに役立つことを願っています...

于 2016-07-13T09:58:38.403 に答える
7

次のこともできるはずです。

echo get_class(Yii::app());

どのタイプのアプリを使用しているかがわかります...

于 2013-08-10T01:58:29.087 に答える
5

PHP アプリケーションがコンソールで実行されているかどうかを判断するのと同じ方法です。

コマンドラインとPHPスクリプトのhttp実行を判断する標準的な方法は何ですか?

于 2013-08-09T14:10:37.537 に答える
1

最も効率的な方法は、ルート ファイル index.php で次の行を定義するようです。

define ('WEBAPP', true)

後でアプリケーションをいつでもチェックインできます

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

Yii 1.7 にチェックイン済み

于 2015-07-30T06:49:44.777 に答える
0

使用できます

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

for console, and

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

for web.

https://stackoverflow.com/a/30635800/4916039

于 2017-01-04T12:31:33.620 に答える