Sono nuovo nel framework YII e mi piacerebbe sapere se c'è modo di sapere/verificare se si sta eseguendo da console o in un browser?Come verificare se un'applicazione YII è in esecuzione da una console o dal browser?
Grazie!
Sono nuovo nel framework YII e mi piacerebbe sapere se c'è modo di sapere/verificare se si sta eseguendo da console o in un browser?Come verificare se un'applicazione YII è in esecuzione da una console o dal browser?
Grazie!
Lo stesso modo in cui si determina se un'applicazione della console viene eseguita nella console o meno.
What is the canonical way to determine commandline vs. http execution of a PHP script?
Si dovrebbe anche essere in grado di fare:
echo get_class(Yii::app());
che vi dirà che tipo di applicazione si è in ...
Il modo più efficace sembra definire nel file root index.php questa riga:
define ('WEBAPP', true)
Successivamente è possibile controllare i n qualsiasi punto dell'applicazione
if (defined('WEBAPP')) {
echo "This is webapp";
} else {
echo "app was launched via console";
}
controllato in Yii 1.7
Questa risposta è un po 'tardi, ma c'è un modo Yii specifico per fare questo:
In Yii1 si può fare:
if (Yii::app() instanceof CConsoleApplication)
In Yii2 che sarebbe:
if (Yii::$app instanceof Yii\console\Application)
Speranza che è utile a qualcuno ...
È possibile utilizzare
if(is_a(Yii::$app,'yii\console\Application'))
for console, and
if(is_a(Yii::$app,'yii\web\Application'))
for web.
controllo Yii :: $ app-> id
Grazie, ho pensato che esistesse una funzione "specifica per YII" di cui non sono a conoscenza. Grazie ancora. – zeratool