《PHP教程:PHP的Yii框架入門使用教程》要點(diǎn):
本文介紹了PHP教程:PHP的Yii框架入門使用教程,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
相關(guān)主題:YII框架
PHP編程安裝
PHP編程Yii 的安裝由如下兩步組成:
PHP編程從 yiiframework.com 下載 Yii 框架.
將 Yii 壓縮包解壓至一個(gè) Web 可訪問(wèn)的目錄.
Tip|提示: 安裝在 Web 目錄不是必須的,每個(gè) Yii 應(yīng)用都有一個(gè)入口腳本,只有它才必須暴露給 Web 用戶.其它 PHP 腳本(包括 Yii)應(yīng)該保護(hù)起來(lái)不被 Web 訪問(wèn),因?yàn)樗鼈兛赡軙?huì)被黑客利用.
需求
PHP編程安裝完 Yii 以后你也許想驗(yàn)證一下你的服務(wù)器是否滿足使用 Yii 的要求,只需瀏覽器中輸入如下網(wǎng)址來(lái)訪問(wèn)需求檢測(cè)腳本:
PHP編程http://hostname/path/to/yii/requirements/index.php
Yii 的最低需求是你的 Web 服務(wù)器支持 PHP 5.1.0 或更高版本.Yii 在 Windows 和 Linux 系統(tǒng)上的 Apache HTTP 服務(wù)器 中測(cè)試通過(guò),應(yīng)該在其它支持 PHP 5 的 Web 服務(wù)器和平臺(tái)上也工作正常.
PHP編程建立第一個(gè) Yii 應(yīng)用
PHP編程為了對(duì) Yii 有個(gè)初步認(rèn)識(shí),我們?cè)诒竟?jié)講述如何建立第一個(gè) Yii 應(yīng)用.我們將使用 yiic (命令行工具)創(chuàng)建一個(gè)新的 Yii 應(yīng)用.Gii(強(qiáng)大的基于web的代碼生成器)為特定的任務(wù)完成自動(dòng)代碼生成.假定 YiiRoot 為 Yii 的安裝目錄,WebRoot 是服務(wù)器的文檔根目錄.
PHP編程在命令行運(yùn)行 yiic,如下所示:
PHP編程
% YiiRoot/framework/yiic webapp WebRoot/testdrive
PHP編程Note|注意: 在 MacOS、Linux 或 Unix 系統(tǒng)中運(yùn)行 yiic 時(shí),你可能需要修改 yiic 文件的權(quán)限使它能夠運(yùn)行.此外,也可以這樣運(yùn)行此工具:
PHP編程
% cd WebRoot
% php YiiRoot/framework/yiic.php webapp testdrive
PHP編程這將在 WebRoot/testdrive 目錄下建立一個(gè)最基本的 Yii 應(yīng)用.這個(gè)應(yīng)用擁有了大多數(shù) Yii 應(yīng)用所需要的目錄結(jié)構(gòu).
PHP編程不用寫一行代碼,我們可以在瀏覽器中訪問(wèn)如下 URL 來(lái)看看我們第一個(gè) Yii 應(yīng)用:
PHP編程http://hostname/testdrive/index.php
正如我們看到的,這個(gè)應(yīng)用包含三個(gè)頁(yè)面:首頁(yè)、聯(lián)系頁(yè)、登錄頁(yè).首頁(yè)展示一些關(guān)于應(yīng)用和用戶登錄狀態(tài)的信息,聯(lián)系頁(yè)顯示一個(gè)聯(lián)系表單以便用戶填寫并提交他們的咨詢,登錄頁(yè)允許用戶先通過(guò)認(rèn)證然后訪問(wèn)已授權(quán)的內(nèi)容. 查看下列截圖了解更多:
PHP編程
PHP編程
PHP編程
PHP編程
PHP編程
PHP編程下面的樹圖描述了我們這個(gè)應(yīng)用的目錄結(jié)構(gòu).
PHP編程
testdrive/
index.php Web 應(yīng)用入口腳本文件
index-test.php 功能測(cè)試使用的入口腳本文件
assets/ 包含公開的資源文件
css/ 包含 CSS 文件
images/ 包含圖片文件
themes/ 包含應(yīng)用主題
protected/ 包含受保護(hù)的應(yīng)用文件
yiic yiic 命令行腳本
yiic.bat Windows 下的 yiic 命令行腳本
yiic.php yiic 命令行 PHP 腳本
commands/ 包含自定義的 'yiic' 命令
shell/ 包含自定義的 'yiic shell' 命令
components/ 包含可重用的用戶組件
Controller.php 所有控制器類的基礎(chǔ)類
Identity.php 用來(lái)認(rèn)證的 'Identity' 類
config/ 包含配置文件
console.php 控制臺(tái)應(yīng)用配置
main.php Web 應(yīng)用配置
test.php 功能測(cè)試使用的配置
controllers/ 包含控制器的類文件
SiteController.php 默認(rèn)控制器的類文件
data/ 包含示例數(shù)據(jù)庫(kù)
schema.mysql.sql 示例 MySQL 數(shù)據(jù)庫(kù)
schema.sqlite.sql 示例 SQLite 數(shù)據(jù)庫(kù)
testdrive.db 示例 SQLite 數(shù)據(jù)庫(kù)文件
extensions/ 包含第三方擴(kuò)展
messages/ 包含翻譯過(guò)的消息
models/ 包含模型的類文件
LoginForm.php 'login' 動(dòng)作的表單模型
ContactForm.php 'contact' 動(dòng)作的表單模型
runtime/ 包含臨時(shí)生成的文件
tests/ 包含測(cè)試腳本
views/ 包含控制器的視圖和布局文件
layouts/ 包含布局視圖文件
main.php 所有視圖的默認(rèn)布局
column1.php 使用單列頁(yè)面使用的布局
column2.php 使用雙列的頁(yè)面使用的布局
site/ 包含 'site' 控制器的視圖文件
pages/ 包含 "靜態(tài)" 頁(yè)面
about.php "about" 頁(yè)面的視圖
contact.php 'contact' 動(dòng)作的視圖
error.php 'error' 動(dòng)作的視圖(顯示外部錯(cuò)誤)
index.php 'index' 動(dòng)作的視圖
login.php 'login' 動(dòng)作的視圖
system/ 包含系統(tǒng)視圖文件
PHP編程連接到數(shù)據(jù)庫(kù)
PHP編程大多數(shù) Web 應(yīng)用由數(shù)據(jù)庫(kù)驅(qū)動(dòng),我們的測(cè)試應(yīng)用也不例外.要使用數(shù)據(jù)庫(kù),我們首先需要告訴應(yīng)用如何連接它.修改應(yīng)用的配置文件 WebRoot/testdrive/protected/config/main.php 即可,如下所示:
PHP編程
return array(
......
'components'=>array(
......
'db'=>array(
'connectionString'=>'sqlite:protected/data/source.db',
),
),
......
);
PHP編程上面的代碼告訴 Yii 應(yīng)用在需要時(shí)將連接到 SQLite 數(shù)據(jù)庫(kù) WebRoot/testdrive/protected/data/testdrive.db .注意這個(gè)SQLite 數(shù)據(jù)庫(kù)已經(jīng)包含在我們創(chuàng)建的應(yīng)用框架中.數(shù)據(jù)庫(kù)只包含一個(gè)名為 tbl_user 的表:
PHP編程
CREATE TABLE tbl_user (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
username VARCHAR(128) NOT NULL,
password VARCHAR(128) NOT NULL,
email VARCHAR(128) NOT NULL
);
PHP編程若你想要換成一個(gè) MySQL 數(shù)據(jù)庫(kù),你需要導(dǎo)入文件 WebRoot/testdrive/protected/data/schema.mysql.sql 來(lái)建立數(shù)據(jù)庫(kù).
PHP編程Note|注意: 要使用 Yii 的數(shù)據(jù)庫(kù)功能,我們需要啟用 PHP 的 PDO 擴(kuò)展和相應(yīng)的驅(qū)動(dòng)擴(kuò)展.對(duì)于測(cè)試應(yīng)用來(lái)說(shuō),我們需要啟用 php_pdo 和 php_pdo_sqlite 擴(kuò)展.
實(shí)現(xiàn) CRUD 操作
PHP編程激動(dòng)人心的時(shí)刻來(lái)了.我們想要為剛才建立的 tbl_user 表實(shí)現(xiàn) CRUD (create, read, update 和 delete) 操作,這也是實(shí)際應(yīng)用中最常見(jiàn)的操作.我們無(wú)需麻煩地編寫實(shí)際代碼,這里我們將使用 Gii ―― 一個(gè)強(qiáng)大的基于Web 的代碼生成器.
PHP編程配置Gii
PHP編程為了使用 Gii,首先需要編輯文件 WebRoot/testdrive/protected/main.php,這是已知的 應(yīng)用配置 文件:
PHP編程
return array(
......
'import'=>array(
'application.models.*',
'application.components.*',
),
'modules'=>array(
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'pick up a password here',
),
),
);
PHP編程然后,訪問(wèn) URL http://hostname/testdrive/index.php?r=gii.這里我們需要輸入密碼,它是在我們?cè)谏厦娴呐渲弥兄付ǖ?
PHP編程生成 User 模型
PHP編程登陸后,點(diǎn)擊鏈接 Model Generator.它將顯示下面的模型生成頁(yè)面,
PHP編程
PHP編程在 Table Name 輸入框中,輸入 tbl_user.在 Model Class 輸入框中,輸入 User.然后點(diǎn)擊 Preview 按鈕.這里將展示將要生成的新文件.現(xiàn)在點(diǎn)擊 Generate 按鈕.一個(gè)名為 User.php 將生成到 protected/models 目錄中.如我們稍后描述的, User 模型類允許我們以面向?qū)ο蟮姆绞絹?lái)訪問(wèn)數(shù)據(jù)表 tbl_user .
PHP編程生成 CRUD 代碼
PHP編程在創(chuàng)建模型類之后,我們將生成執(zhí)行 CRUD 操作的代碼.我們選擇 Gii 中的 Crud Generator,如下所示,
PHP編程
PHP編程在 Model Class 輸入框中,輸入 User.在 Controller ID 輸入框中,輸入 user (小寫格式).現(xiàn)在點(diǎn)擊 Generate 按鈕后的 Preview 按鈕.CRUD 代碼生成完成了.
PHP編程訪問(wèn) CRUD 頁(yè)面
PHP編程讓我們看看成果,訪問(wèn)如下 URL:
PHP編程http://hostname/testdrive/index.php?r=user
這會(huì)顯示一個(gè) tbl_user 表中記錄的列表.
PHP編程點(diǎn)擊頁(yè)面上的 Create User 鏈接,如果沒(méi)有登錄的話我們將被帶到登錄頁(yè).登錄后,我們看到一個(gè)可供我們添加新用戶的表單.完成表單并點(diǎn)擊 Create 按鈕,如果有任何輸入錯(cuò)誤的話,一個(gè)友好的錯(cuò)誤提示將會(huì)顯示并阻止我們保存.回到用戶列表頁(yè),我們應(yīng)該能看到剛才添加的用戶顯示在列表中.
PHP編程重復(fù)上述步驟以添加更多用戶.注意,如果一頁(yè)顯示的用戶條目太多,列表頁(yè)會(huì)自動(dòng)分頁(yè).
PHP編程如果我們使用 admin/admin 作為管理員登錄,我們可以在如下 URL 查看用戶管理頁(yè):
PHP編程http://hostname/testdrive/index.php?r=user/admin
這會(huì)顯示一個(gè)包含用戶條目的漂亮表格.我們可以點(diǎn)擊表頭的單元格來(lái)對(duì)相應(yīng)的列進(jìn)行排序,而且它和列表頁(yè)一樣會(huì)自動(dòng)分頁(yè).
PHP編程實(shí)現(xiàn)所有這些功能不要我們編寫一行代碼!
PHP編程
PHP編程
《PHP教程:PHP的Yii框架入門使用教程》是否對(duì)您有啟發(fā),歡迎查看更多與《PHP教程:PHP的Yii框架入門使用教程》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7542.html