一、簡單介紹
1. Yii 是一個基於組件、用於開發大型 Web 應用的 高性能 PHP 框架。它將 Web 編程中的可重用性發揮到極致,能夠顯著加速開發進程。Yii(讀作“易”),代表簡單(easy)、高效(efficient)、可擴展(extensible)。
2. Php框架: cakephp CI(codeIgniter) symfony TP(thinkphp)(國人開發) zendframwork(官方4) ....等
Yii: 高性能框架,代碼重用性發揮到了極致,惰性加載框架,速度非常快,有緩存、登陸、助手( 小物件,靈活創建表單)、日誌等方便組件...適合開發大型web應用系統。由美籍華人xueqiang 2008年1月 開發
Yii框架是通用的框架(客戶需求靈活,花樣多,比較複雜),用主流MVC設計模式,是一個純OOP面向對象框架
3.穩定版本 1.1.14 下載地址:http://www.yiiframework.com/download/
二、Yii框架部署
1.解壓下載好的 Yii框架包
2.拷貝 framework 到工程目錄,我拷貝到我電腦 E:\workspace\framework 目錄
三、創建自己的應用系統(Cms 、shop、 Crm、 Office 等),我創建一個Shop應用系統.
1.開始鍵+R -> cmd -> E: -> cd E:\workspace\framework -> yiic webapp ../shop [../意思創建在上一級目錄]
注:如果執行命令時提示不是內部命令時候,檢查自己的php環境變量配置,php環境配置就不說了....
執行成功就會在 E:\workspace\目錄下生成一個 shop 目錄
主要看 protected 文件
2.訪問這個應用系統 ..... 額,我本地windows Nginx環境臨時出毛病...我先部署到遠程linux上...訪問 http://***.***.**.**:****/shop/index.php
能訪問到上面頁面,ok, , create webapp success 能看到的這個頁面路徑在 /shop\protected\views\site\index.php
Yii框架訪問頁面是通過路由找到控制器,再去action渲染視圖,所以 /shop\protected\views\site\index.php 是先找到默認的 SiteController.php控制器,再執行 actionIndex 方法...
四、商城模板與Yii框架結合
1.User模塊,寫用戶控制器 UserController.php UserController類繼承 Controller
寫 actionLogin方法... [路由訪問地址 www.***.com/user/login ] 1.尋找user控制器 2、執行actionLogin方法
我電腦本地環境出毛病了,我就直接在遠程linux上寫了......
額,調一下顏色,這個有點醜.....
wq保存退出,訪問 http://***.***.**.**:****/shop/index.php?r=user/login
現在創建控制器對應的模型文件
把準備好的登陸模板放在user文件夾下
額,文件在linux下最好不要用中文文件名...麻煩
在UserController.php中調用 renderPartial 渲染視圖
在瀏覽器中訪問 http://***.***.**.**:****/shop/index.php?r=user/login
將樣式文件,js、圖片、css 都集成進來
js /assets/js 圖片 /assets/default/img css樣式 /assets/default/css
把模板文件裏的css文件放在 /shop/assets/default/css 目錄下,修改login.php
再刷新頁面看下效果,還不錯....
靜態資源統一放到系統常量裏面方便調用 在/shop/protected/config 下新建constant.php
在login.php中修改引入css鏈接
在程序入口文件(index.php)中引入常量文件
刷新,額,出了個錯,,忘記定義常量時候copy錯了,寫了兩個CSS_URL
Notice: Constant CSS_URL already defined in /home/jiawenze/apache2/htdocs/shop/protected/config/constant.php on
line 15
修改後刷新,ok,正常
引入圖片資源
在login.php中修改引入圖片資源地址
刷新,ok,看到logo圖片了
替換所有的圖片資源鏈接,然後刷新
好看多了,繼續修改css樣式文件裏面的圖片引入地址,ok,又好看了點
解釋下路由 ... 在框架裏面通過路由獲得控制器和方法,有了控制器和action方法就可以進一步與視圖或者模型進行交互
http://******.com/index.php?r=controller/action 【r是路由單詞縮寫,後面爲controller前綴和action後綴】
2.一樣的方法把註冊模塊跟Yii框架整合,在UserController中寫actionRegister方法
修改下register.php中資源路徑.ok。。。。訪問一下 http://******.com/index.php?r=user/register
四、寫IndexController控制器。actionIndex()方法,渲染視圖 index 【在views目錄下新建index文件夾,有一個控制器就有一個對應的文件夾】
在/shop/protected/views/index/ 目錄下放入index模板文件,並修改css和圖片路徑
訪問 http://******.com/index.php?r=index/index
ok
五、寫商品控制器GoodsControlle。actionCategory()商品列表action 和actionDetail()商品詳細action,
【在views目錄下新建goods文件夾,有一個控制器就有一個對應的文件夾】
引入對應的模板文件 修改css和圖片路徑。ok,訪問 http://******.com/index.php?r=goods/category 和 http://******.com/index.php?r=goods/detail
ok...(後續....)