本文主要和大家分享Yii安裝與應用程式詳解,首先安裝Yii,你可以透過兩種方式安裝 Yii:使用 Composer 或下載歸檔檔。
建議使用前者,這樣只要執行一條簡單的指令就可以安裝新的擴充功能或更新 Yii 了。
標準安裝完Yii之後,框架和一個專案範本都下載並安裝好了。
一個項目範本是實現了一些基本特性的一個 可行的Yii項目,例如登錄,聯絡表單,等等。
它的程式碼是以推薦的方式組織的。因此,它能夠適合作為你專案的一個好的起點。
如果還沒有安裝 Composer,你可以按 getcomposer.org 中的方法安裝。
在 Linux 和 Mac OS X 中可以執行以下命令:
curl -sS https://getcomposer.org/installer | php mv 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 包含三個步驟:
從 yiiframework.com 下載歸檔檔案。
將下載的檔案解壓縮到 Web 存取的資料夾。
修改config/web.php
文件,給cookieValidationKey
配置項目
新增一個金鑰(如果你透過Composer 安裝,則此步驟會自動完成):
// !!! 在下面插入一段密钥(若为空) - 以供 cookie validation 的需要'cookieValidationKey' => '在此处输入你的密钥',
#安裝Yii 後,就有了一個可運行的Yii 應用,
根據配置的不同,可以透過http://hostname/basic/web/index.php
或http://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 存取(例如瀏覽器),後者不能也不應該被直接存取。
以下圖表展示了一個應用程式如何處理請求:
#使用者向入口腳本web/index.php
發起請求。
入口腳本載入應用程式配置並建立一個應用程式
實例去處理請求。
應用程式透過請求元件解析請求的
路由。
應用程式建立一個控制器實例去處理請求。
控制器建立一個動作實例並針對操作執行篩選器。
如果任何一個篩選器回傳失敗,則動作取消。
如果所有篩選器都通過,動作將會被執行。
動作會載入一個資料模型,或許是來自資料庫。
動作會渲染一個視圖,把資料模型提供給它。
渲染結果回傳給回應元件。
回應元件會傳送渲染結果給使用者瀏覽器。
相關推薦:
以上是Yii安裝與應用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!