在本節中,我們將描述如何建立一個應用程式骨架,作為我們的起點。為了簡潔起見,我們假設您的 Web 伺服器的文件根目錄為 /wwwroot
,而對應的 URL 為 http://www.example.com/
。
首先,我們需要安裝 Yii 框架。從 www.yiiframework.com 下載 Yii 發行檔案(1.1.1 或以上版本)並解壓縮到 /wwwroot/yii
目錄。請再次確認 /wwwroot/yii/framework
目錄是否存在。
提示: Yii 框架可以安裝在檔案系統中的任何位置,不一定要在 Web 資料夾下。其
framework
目錄包含所有框架程式碼,並且是部署 Yii 應用程式時唯一需要的框架目錄。單一 Yii 安裝可以被多個 Yii 應用程式使用。
安裝 Yii 後,開啟瀏覽器視窗並存取 URL http://www.example.com/yii/requirements/index.php
。它會顯示 Yii 發行版中提供的需求檢查器。對於我們的部落格應用程式,除了 Yii 所需的最低需求外,我們還需要啟用 pdo
和 pdo_sqlite
PHP 擴充功能,以便我們可以存取 SQLite 資料庫。
接著,我們使用 yiic
工具在 /wwwroot/blog
目錄下建立一個應用程式骨架。 yiic
工具是 Yii 發行版中提供的命令列工具。它可用於產生程式碼,以減少某些重複的編碼任務。
開啟命令視窗並執行以下命令
% /wwwroot/yii/framework/yiic webapp /wwwroot/blog Create a Web application under '/wwwroot/blog'? [Yes|No]y ......
提示: 為了如上所示使用
yiic
工具,CLI PHP 程式必須在命令搜尋路徑中。如果沒有,可以改用以下命令path/to/php /wwwroot/yii/framework/yiic.php webapp /wwwroot/blog
為了試用我們剛剛建立的應用程式,開啟 Web 瀏覽器並導航至 URL http://www.example.com/blog/index.php
。您應該會看到我們的應用程式骨架已經有四個功能完整的頁面:首頁、關於頁面、聯絡頁面和登入頁面。
在下面,我們簡要描述這個應用程式骨架中的內容。
我們有一個 入口腳本 檔案 /wwwroot/blog/index.php
,其內容如下
$yii='/wwwroot/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // remove the following line when in production mode defined('YII_DEBUG') or define('YII_DEBUG',true); require_once($yii); Yii::createWebApplication($config)->run();
這是 Web 使用者可以直接存取的唯一腳本。該腳本首先包含 Yii 啟動檔案 yii.php
。然後,它使用指定的配置建立一個 應用程式 實例並執行該應用程式。
我們還有一個 基礎應用程式目錄 /wwwroot/blog/protected
。我們的大部分程式碼和資料將放置在此目錄下,並且應該防止 Web 使用者存取。對於 Apache httpd Web 伺服器,我們在此目錄下放置一個包含以下內容的 .htaccess
檔案
deny from all
對於其他 Web 伺服器,請參閱相應的手冊,了解如何防止 Web 使用者存取目錄。
為了幫助理解 Yii 的運作方式,我們描述當使用者存取聯絡頁面時,應用程式骨架中的主要工作流程
http://www.example.com/blog/index.php?r=site/contact
;/wwwroot/blog/protected/config/main.php
中指定的初始屬性值進行配置;site
控制器和 contact
動作(/wwwroot/blog/protected/controllers/SiteController.php
中的 actionContact
方法);SiteController
實例建立 site
控制器,然後執行它;SiteController
實例透過呼叫其 actionContact()
方法來執行 contact
動作;actionContact
方法將名為 contact
的 視圖 渲染給 Web 使用者。在內部,這是透過包含視圖檔案 /wwwroot/blog/protected/views/site/contact.php
並將結果嵌入到 佈局 檔案 /wwwroot/blog/protected/views/layouts/column1.php
中來實現的。發現錯字或您認為此頁面需要改進?
在 github 上編輯 !
在 MAMP 中使用 yiic
您可能需要將 MAMP 版本的 PHP 新增到您的 PATH
例如
export PATH=/Applications/MAMP/bin/php5/bin:${PATH}
使用 xampp 時關於 yiic 工具的額外提示
如果您的 php 執行檔未新增到您的路徑,則在您的 Windows 命令提示字元中使用類似的命令
{php.exe 的路徑} {yiic.php 的路徑} {新 Web 應用程式的路徑}
例如
E:\xampp\php\php.exe E:\xampp\htdocs\yiicore\framewor\yiic.php webapp E:\xampp\htdocs\yiiapp
您可能遇到的問題
需要一種 SSH 連線到您的 Web 伺服器的方法嗎?使用 PuTTY。只需 Google 搜尋即可。
為了輕鬆找到您的 path/to/php,請在使用 PuTTY 登入您的伺服器後輸入以下內容
which php
它將傳回類似這樣的內容:/usr/local/bin/php 事實上,如果需要,您不妨嘗試一下,因為很可能您的路徑也相同。
我對此不太確定,但您可能需要提前建立 /blog 資料夾。我遇到了問題,而這是一系列修復問題的步驟之一,但我沒有確認這是必需的。可能是 yiic 腳本會在缺少時建立它。
如果您嘗試執行上面的 unix 命令來建置應用程式骨架並收到「Permission Denied」錯誤,則很可能您需要變更 /yii/framework/yiic 檔案的權限以使其可執行。如果您將檔案的權限變更為 754,您應該就可以了。
使用 Windows 中的 XAMPP 時,PHP 不在您的 PATH 中
HossainK 的評論 #1312 現在已過時。
最新版本的 XAMPP 使用重新發明的
setup_xampp.bat
,它使用 PHP 命令進行許多操作。如果您的 PATH 變數中沒有 PHP.exe 的有效路徑,您將無法執行它,因此也無法安裝 XAMPP 本身。在 PATH 變數中擁有 PHP.exe 的有效路徑並非強制性的。
註冊 或 登入 以發表評論。