Das Eingabeskript ist der erste Schritt im Anwendungsstartprozess. Eine Anwendung (sei es eine Webanwendung oder eine Konsolenanwendung) hat nur ein Eingabeskript. Endbenutzeranfragen instanziieren die Anwendung über das Eingabeskript und leiten die Anfrage an die Anwendung weiter.
Das Eingabeskript der Webanwendung muss in einem für Endbenutzer zugänglichen Verzeichnis abgelegt werden, normalerweise mit dem Namen index.php, oder Sie können das verwenden Webserver auf andere Namen ausgerichtet.
Das Eingabeskript der Konsolenanwendung trägt im Allgemeinen den Namen yii (Suffix .php) im Stammverzeichnis der Anwendung. Die Datei erfordert eine Ausführungsberechtigung, damit der Benutzer den Befehl ./yii
Das Eingabeskript erledigt hauptsächlich die folgende Arbeit:
Globale Konstanten definieren;
Register Composer Autoloader; Anwendungskonfiguration laden; Rufen Sie yiibaseApplication auf : :run(), um die Anfrage zu bearbeiten.Webanwendung
Das Folgende ist der Code des grundlegenden Eingabeskripts für Anwendungsvorlagen:
<?php 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();
Konsole Anwendung
Das Folgende ist das Eingabeskript für eine Konsolenanwendung:
#!/usr/bin/env php <?php /** * Yii console bootstrap file. * * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ 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/console.php'; $application = new yii\console\Application($config); $exitCode = $application->run(); exit($exitCode);
Konstanten definieren
Eingabeskript Es ist der beste Ort, um globale Konstanten zu definieren. Yii unterstützt die folgenden drei Konstanten:
YII_DEBUG: Gibt an, ob die Anwendung im Debug-Modus ausgeführt wird. Im Debugmodus speichert die Anwendung mehr Protokollinformationen und wenn eine Ausnahme ausgelöst wird, wird ein detaillierter Fehleraufrufstapel angezeigt. Daher eignet sich der Debug-Modus hauptsächlich für die Verwendung während der Entwicklungsphase und der Standardwert von YII_DEBUG ist false.YII_ENV: Identifiziert die Umgebung, in der die Anwendung ausgeführt wird. Weitere Informationen finden Sie im Konfigurationskapitel. Der Standardwert von YII_ENV ist „prod“, was bedeutet, dass die Anwendung in einer Online-Produktionsumgebung ausgeführt wird.
YII_ENABLE_ERROR_HANDLER: Gibt an, ob die von Yii bereitgestellte Fehlerbehandlung aktiviert werden soll. Der Standardwert ist „true“. Beim Definieren einer Konstante wird diese normalerweise mit einem Code ähnlich dem folgenden definiert:defined('YII_DEBUG') or define('YII_DEBUG', true);
Der obige Code entspricht:
if (!defined('YII_DEBUG')) { define('YII_DEBUG', true); }
Die Konstantendefinition sollte am Anfang des Eingabeskripts stehen, damit die Konstanten wirksam werden, wenn andere PHP-Dateien eingebunden werden.
Das obige ist der detaillierte Inhalt vonWozu dient das yii-Framework-Eingabeskript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!