Yii安裝與應用詳解

來源:互聯網
上載者:User


本文主要和大家分享Yii安裝與應用詳解,首先先安裝Yii,你可以通過兩種方式安裝 Yii:使用 Composer 或下載一個歸檔檔案。
推薦使用前者,這樣只需執行一條簡單的命令就可以安裝新的擴充或更新 Yii 了。

標準安裝完Yii之後,架構和一個項目模板兩者都下載並安裝好了。
一個項目模板是實現了一些基本特性的一個 可行的Yii項目,比如登入,聯絡表單,等等。
它的代碼是以推薦的方式組織的。因此,它能夠適合作為你項目的一個好的起點。

通過 Composer 安裝

Installing Composer

如果還沒有安裝 Composer,你可以按 getcomposer.org 中的方法安裝。
在 Linux 和 Mac OS X 中可以運行如下命令:

curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer

在 Windows 中,你需要下載並運行 Composer-Setup.exe。

如果遇到任何問題或者想更深入地學習 Composer,請參考 Composer 文檔(英文),
Composer 中文。

如果你已經安裝有 Composer 請確保使用的是最新版本,
你可以用 composer self-update 命令更新 Composer 為最新版本。

Composer 安裝後,切換到一個可通過 Web 存取的目錄,執行如下命令即可安裝 Yii :

composer global require "fxp/composer-asset-plugin:^1.3.1"composer create-project --prefer-dist yiisoft/yii2-app-basic basic

第一條命令安裝 Composer asset plugin,
它是通過 Composer 管理 bower 和 npm 包所必須的,此命令全域生效,一勞永逸。
第二條命令會將 Yii 安裝在名為 basic 的目錄中。如果你想使用其它目錄名稱,你可以選擇其他目錄名稱。

注意:在安裝過程中 Composer 可能會詢問你 GitHub 賬戶的認證資訊,因為可能在使用中超過了 GitHub API (對匿名使用者的)使用限制。因為 Composer 需要為所有擴充包從 GitHub
中擷取大量資訊,所以超限非常正常。(譯註:也意味著作為程式猿沒有 GitHub 帳號,就真不能愉快地玩耍了)登陸 GitHub 之後可以得到更高的 API 限額,這樣 Composer 才能正常運行。更多細節請參考 Composer
文檔(該段 Composer中文文檔期待您的參與)。

提示:如果你想安裝 Yii 的最新開發版本,可以使用以下命令代替,
它添加了一個 stability 選項(中文版):

composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic

注意,Yii 的開發版(dev 版)不應該用於生產環境中,它可能會破壞運行中的代碼。

通過歸檔檔案安裝

通過歸檔檔案安裝 Yii 包括三個步驟:

  1. 從 yiiframework.com 下載歸檔檔案。

  2. 將下載的檔案解壓縮到 Web 存取的檔案夾中。

  3. 修改 config/web.php 檔案,給 cookieValidationKey 配置項
    添加一個密鑰(若你通過 Composer 安裝,則此步驟會自動完成):

    // !!! 在下面插入一段密鑰(若為空白) - 以供 cookie validation 的需要'cookieValidationKey' => '在此處輸入你的密鑰',

運行應用

安裝 Yii 後,就有了一個可啟動並執行 Yii 應用,
根據配置的不同,可以通過 http://hostname/basic/web/index.phphttp://hostname/index.php 訪問。

應用結構

應用中最重要的目錄和檔案(假設應用根目錄是 basic):

basic/                  應用根目錄    composer.json       Composer 設定檔, 描述包資訊    config/             包含應用配置及其它配置        console.php     控制台應用配置資訊        web.php         Web 應用程式配置資訊    commands/           包含控制台命令類    controllers/        包含控制器類    models/             包含模型類    runtime/            包含 Yii 在運行時產生的檔案,例如日誌和快取檔案    vendor/             包含已經安裝的 Composer 包,包括 Yii 架構自身    views/              包含視圖檔案    web/                Web 應用程式根目錄,包含 Web 入口檔案        assets/         包含 Yii 發布的資源檔(javascript 和 css)        index.php       應用入口檔案    yii                 Yii 控制台命令執行指令碼

一般來說,應用中的檔案可被分為兩類:在 basic/web 下的和在其它目錄下的。
前者可以直接通過 HTTP 訪問(例如瀏覽器),後者不能也不應該被直接存取。

請求生命週期

以表展示了一個應用如何處理請求:

  1. 使用者向入口指令碼 web/index.php 發起請求。

  2. 入口指令碼載入應用配置並建立一個應用
    執行個體去處理請求。

  3. 應用通過請求組件解析請求的
    路由。

  4. 應用建立一個控制器執行個體去處理請求。

  5. 控制器建立一個動作執行個體並針對操作執行過濾器。

  6. 如果任何一個過濾器返回失敗,則動作取消。

  7. 如果所有過濾器都通過,動作將被執行。

  8. 動作會載入一個資料模型,或許是來自資料庫。

  9. 動作會渲染一個視圖,把資料模型提供給它。

  10. 渲染結果返回給回應群組件。

  11. 回應群組件發送渲染結果給使用者瀏覽器。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.