Heim >PHP-Framework >YII >Wozu dient das yii-Framework-Eingabeskript?

Wozu dient das yii-Framework-Eingabeskript?

(*-*)浩
(*-*)浩Original
2019-11-28 15:31:522092Durchsuche

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.

Wozu dient das yii-Framework-Eingabeskript?

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 (Empfohlenes Lernen: yii-Framework )

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(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);
defined(&#39;YII_ENV&#39;) or define(&#39;YII_ENV&#39;, &#39;dev&#39;);

// 注册 Composer 自动加载器
require __DIR__ . &#39;/../vendor/autoload.php&#39;;

// 包含 Yii 类文件
require __DIR__ . &#39;/../vendor/yiisoft/yii2/Yii.php&#39;;

// 加载应用配置
$config = require __DIR__ . &#39;/../config/web.php&#39;;

// 创建、配置、运行一个应用
(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(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);
defined(&#39;YII_ENV&#39;) or define(&#39;YII_ENV&#39;, &#39;dev&#39;);
// 注册 Composer 自动加载器
require __DIR__ . &#39;/vendor/autoload.php&#39;;
// 包含 Yii 类文件
require __DIR__ . &#39;/vendor/yiisoft/yii2/Yii.php&#39;;
// 加载应用配置
$config = require __DIR__ . &#39;/config/console.php&#39;;
$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(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);

Der obige Code entspricht:

if (!defined(&#39;YII_DEBUG&#39;)) {
    define(&#39;YII_DEBUG&#39;, true);
}

Natürlich Der erste Absatz Der Code ist einfacher und leichter zu verstehen.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn