亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

ディレクトリ 検索
閱讀前篇 簡介 Yii 是什么 從 Yii 1.1 升級 入門 安裝 Yii 運行應(yīng)用 第一次問候 使用Forms 數(shù)據(jù)庫應(yīng)用 使用 Gii 生成代碼 進(jìn)階 應(yīng)用結(jié)構(gòu) 概述 入口腳本 應(yīng)用(Applications) 應(yīng)用組件(Application Components) 控制器(Controllers) 模型(Models) 視圖(views) 模塊(Modules) 過濾器(Filters) 小部件(Widgets) 前端資源(Assets) 擴(kuò)展(Extensions) 請求處理 運行概述 啟動引導(dǎo)(Bootstrapping) 路由和創(chuàng)建URL 請求(Requests) 響應(yīng)(Responses) Sessions 和 Cookies 錯誤處理(Handling Errors) 日志(Logging) 關(guān)鍵概念 組件(Component) 屬性(Property) 事件(Events) 行為(Behaviors) 配置(Configurations) 別名(Aliases) 類自動加載(Autoloading) 服務(wù)定位器(Service Locator) 依賴注入容器(Dependency Injection Container) 配合數(shù)據(jù)庫工作 數(shù)據(jù)庫訪問 (Data Access Objects) 查詢生成器(Query Builder) 活動記錄(Active Record) 數(shù)據(jù)庫遷移(Migrations) Sphinx Redis MongoDB Elasticsearch 接收用戶數(shù)據(jù) 創(chuàng)建表單(Creating Forms) 輸入驗證(Validating Input) 文件上傳(Uploading Files) 收集列表輸入(Collecting Tabular Input) 多模型的復(fù)合表單(Getting Data for Multiple Models) 顯示數(shù)據(jù) 格式化輸出數(shù)據(jù)(Data Formatting) 分頁(Pagination) 排序(Sorting) 數(shù)據(jù)提供器(Data Providers) 數(shù)據(jù)小部件(Data Widgets) 客戶端腳本使用(Working with Client Scripts) 主題(Theming) 安全 認(rèn)證(Authentication) 授權(quán)(Authorization) 處理密碼(Working with Passwords) 客戶端認(rèn)證(Auth Clients) 最佳安全實踐(Best Practices) 緩存 概述 數(shù)據(jù)緩存 片段緩存 頁面緩存 HTTP 緩存 RESTfull Web服務(wù) 快速入門(Quick Start) 資源(Resources) 控制器(Controllers) 路由(Routing) 格式化響應(yīng)(Response Formatting) 授權(quán)認(rèn)證(Authentication) 速率限制(Rate Limiting) 版本(Versioning) 錯誤處理(Error Handling) 開發(fā)工具 調(diào)試工具欄和調(diào)試器 使用Gii生成代碼 生成API文檔 測試 概述(Overview) 配置測試環(huán)境(Testing environment setup) 單元測試(Unit Tests) 功能測試(Function Tests) 驗收測試(Acceptance Tests) 測試夾具(Fixtures) 高級專題 高級應(yīng)用模板 創(chuàng)建自定義應(yīng)用程序結(jié)構(gòu) 控制臺命令 核心驗證器(Core Validators) 國際化 收發(fā)郵件 性能優(yōu)化 共享主機(jī)環(huán)境 模板引擎 集成第三方代碼 小部件 Bootstrap 小部件 Jquery UI 助手類 概述 Array 助手(ArrayHelper) Html 助手(Html) Url 助手(Url)
テキスト

入口腳本

入口腳本

入口腳本是應(yīng)用啟動流程中的第一環(huán),一個應(yīng)用(不管是網(wǎng)頁應(yīng)用還是控制臺應(yīng)用)只有一個入口腳本。終端用戶的請求通過入口腳本實例化應(yīng)用并將將請求轉(zhuǎn)發(fā)到應(yīng)用。

Web 應(yīng)用的入口腳本必須放在終端用戶能夠訪問的目錄下,通常命名為?index.php,也可以使用 Web 服務(wù)器能定位到的其他名稱。

控制臺應(yīng)用的入口腳本一般在應(yīng)用根目錄下命名為?yii(后綴為.php),該文件需要有執(zhí)行權(quán)限,這樣用戶就能通過命令?./yii <route> [arguments] [options]?來運行控制臺應(yīng)用。

入口腳本主要完成以下工作:

  • 定義全局常量;
  • 注冊?Composer 自動加載器;
  • 包含 Yii 類文件;
  • 加載應(yīng)用配置;
  • 創(chuàng)建一個應(yīng)用實例并配置;
  • 調(diào)用 yii\base\Application::run() 來處理請求。

Web 應(yīng)用

以下是基礎(chǔ)應(yīng)用模版入口腳本的代碼:

<?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');

// 加載應(yīng)用配置$config = require(__DIR__ . '/../config/web.php');

// 創(chuàng)建、配置、運行一個應(yīng)用
(new yii\web\Application($config))->run();

控制臺應(yīng)用

以下是一個控制臺應(yīng)用的入口腳本:

#!/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);

// fcgi 默認(rèn)沒有定義 STDIN 和 STDOUT
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));

// 注冊 Composer 自動加載器require(__DIR__ . '/vendor/autoload.php');

// 包含 Yii 類文件require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');

// 加載應(yīng)用配置$config = require(__DIR__ . '/config/console.php');

$application = new yii\console\Application($config);
$exitCode = $application->run();
exit($exitCode);

定義常量

入口腳本是定義全局常量的最好地方,Yii 支持以下三個常量:

  • YII_DEBUG:標(biāo)識應(yīng)用是否運行在調(diào)試模式。當(dāng)在調(diào)試模式下,應(yīng)用會保留更多日志信息,如果拋出異常,會顯示詳細(xì)的錯誤調(diào)用堆棧。因此,調(diào)試模式主要適合在開發(fā)階段使用,YII_DEBUG?默認(rèn)值為 false。
  • YII_ENV:標(biāo)識應(yīng)用運行的環(huán)境,詳情請查閱配置章節(jié)。YII_ENV?默認(rèn)值為?'prod',表示應(yīng)用運行在線上產(chǎn)品環(huán)境。
  • YII_ENABLE_ERROR_HANDLER:標(biāo)識是否啟用 Yii 提供的錯誤處理,默認(rèn)為 true。

當(dāng)定義一個常量時,通常使用類似如下代碼來定義:

defined('YII_DEBUG') or define('YII_DEBUG', true);

上面的代碼等同于:

if (!defined('YII_DEBUG')) {
    define('YII_DEBUG', true);
}

顯然第一段代碼更加簡潔易懂。

常量定義應(yīng)該在入口腳本的開頭,這樣包含其他 PHP 文件時,常量就能生效。
前の記事: 次の記事: