使用Yii框架完整搭建網站流程入門

下載地址:php

http://www.yiiframework.com/css

http://www.yiichina.com/mysql

由美籍華人薛強研究而出,jquery

Yii 這個名字(讀做易(Yee))表明linux

簡單(easy, 高效(efficient)和可擴展(extensible.web

基於MVC,純OOP,強大sql

基本配置要求:數據庫:mysqlphp5.0.1以上;pdo,【圖片等需開啓gd庫模塊】數據庫

  1. 下載完成,解壓後,經過127.0.0.1localhost訪問其文件夾,能夠查看requirements文件夾,表明framework基本需求配置,核心文件僅framework
  2. 建立項目方式:【簡:使用yiic.php webapp ../bbs 安裝】

A: windows系統將php.exe文件目錄地址加入到計算機環境變量,運行cmd進入【framework】目錄,運行【php yiic.php webapp ../bbs】,會提示建立 【Create a webapp location ‘…yii目錄\項目名稱’ yes or no:】,鍵入【yes】,或者仍然找不到php.exe手動指定php目錄,執行php.exe yiic.php webapp c:/wamp/www/yii/yii/bbs也能夠完成功能,若是不行,從新執行上述步驟,如下兩個圖片均可創建windows

 

 

B: linux系統也可進入相對應目錄執行【php】,執行【php yiic.php webapp ../bbs】,提示建立 【……yes or no:敲入yes】,若是不行,從新執行上述步驟數組

  1. 如今能夠訪問localhost/yii/yii/bbs/  地址相等於     localhost/yii/yii/bbs/index.php?r=site/index  

表示當前默認訪問的是index.php入口文件里路由rsite控制器[controllers]裏的index方法,

  1. 默認主頁文件爲protected/controllers文件夾裏的SiteController.php下的 actionIndex方法,

關鍵*修改默認控制器:

打開protected/config文件夾下main.php文件,在 return array()裏最外層array添加 defaultController=>index;

*protected/controller下建立默認主頁控制器IndexController.php,繼承Controller基本內容以下: 

class IndexController extends Controller{

public function actionIndex(){

/*//顯示index.php,第二個參數必須以數組的形式發送(可選)*/

$this->render(index[,array(mixed=>$a)]);//加載佈局

$this->renderPartial(index[,array(x=>$x)]);//不加載佈局,不加載默認框架自帶jquery

}

}/*:全部的控制器都必須繼承Controller,且控制器中方法必須以action開頭*/

  1. 關鍵*修改默認佈局目錄,打開components下的Controller.php文件

Controller類中將 public $layout = ‘//laylouts/column1’;修改成public $layout = ‘//laylouts/bbs’;

  1. 佈局內容:若是沒有什麼須要改變的,直接  <?php  echo  $content ?> 就能夠,而根據默認控制器令,打開的是index控制器下的index方法,打開的是名爲index的文件,因此要在protected/view文件夾下建立一個index文件夾,文件夾內建立一個index.php文件(yii規定爲php文件,且內容能夠包含php語法)
  2. 這樣就造成了一個頁面,由//layout/bbs.php公共佈局 與 /protected/view/index/index.php兩個文件共同造成的一個文件,首頁就出來了,/layout/bbs.php內容爲:

<公共的頭部內容>

<?php echo $content; ?>-------意思即表明index.php中的全部內容

<公共的尾部內容>

/protected/view/index/index.php內容爲:

<首頁去除頭部和腳部之後中間部分的內容()>

  1. 配置css,js,image等相關外部文件,這些文件放入assets文件夾裏,視圖層中爲了方便寫路徑,yii框架定義了方法

調用方式:Yii::app()->request->baseUrl   等同於 項目根目錄url地址

表明着:當前項目目錄 

:<img src=’image/aaa.png’> 更改成<img src=’<?php echo Yii::app()->request->baeUrl; ?>/assets/image/aaa.png’>

  1. 如要增長模塊,只需在相應的文件夾創建相應的文件,相應的文件創建相應的方法便可

1:若是須要在index下創建一個註冊模塊,只需在IndexControll.phpIndexController類下創建actionregister方法,在方法內執行 $this->render(‘register’); view模塊的index目錄下新創建一個名爲register.php的註冊文件,同時遵照//layour/blog佈局樣式;

2:若是想替換佈局文件,便可在當前方法中加上 public $layout=’//layouts/佈局文件名

想替換js,css,image相關文件,直接能夠在文件中修改地址便可

能夠選擇創建一個新的控制器,在視圖文件夾下創建一個新的控制器名稱文件夾,包含方法名文件

  1. 控制器發送數據給頁面:例: $data = array(‘id’=>’45’,’title’=>’my title’,’name’=>’zhangsan’);

  $this->render(‘pageUrl’,$data);

視圖層處理: <?php foreach($data as $v)?>

<li><?php echo $v->id; ?></li>

<?php endforeach?>

:若是用單獨的每行描寫php語法,有須要大括號的地方能夠不加,可是行爲結束必須有<end行爲標籤符>

另注:數據在Yii框架中view層中以對象形式存在,因此不能直接echo,直接調用發送來的變量便可

  1. 能夠選擇自定義函數,引入,require_once(‘./obj_path/myfunc.php’);
  2. gii 模塊 做用:更加便捷的模塊管理,例如,須要創建一個後臺管理模塊,步驟以下:

13.1config/main.php文件裏開啓gii模塊 'gii'=>array(

'class'=>'system.gii.GiiModule',

password=>Enter Your Password Here,//設置密碼

'ipFilters'=>array('127.0.0.1','::1'),

), ///*  */去掉

 

13.2訪問http://localhost/yii/yii/index.php?r=gii 地址,根據main.php文件本身設置的密碼登錄模塊系統,新建模塊選擇第四個 Module Generator,填寫須要創建的模塊 admin,點擊preview瀏覽,Yii默認建立一個modules/admin文件夾,AdminModule.php文件,controllersDefaultController.php ,視圖層default文件夾默認index.php文件,點擊Generate建立(提示在main.php文件添加名爲admin的元素)main.php文件modules 對應的數組中添加 admin 元素,添加完之後便可訪問  index.php?r=admin 頁面

:與前臺沒有直接關係的模塊儘可能選擇在modeules裏建立

 

 

http://localhost/yii/yii/blog/index.php?r=admin

 

至此admin模塊有了,有時間能夠把後臺admin搭建起來

  1. 後臺模塊要擁有本身的佈局必須將當前項目根目錄下的components文件夾複製到admin目錄下,而且刪除文件夾內的UserIdentity.php文件,修改admin/components文件夾裏的Controller.php文件,將佈局文件名修改成本身須要的,去掉一根斜線//*public $layout=’layouts/admin’; *//,表明爲當前moduleslayouts佈局文件,因此就要在admin目錄下的views文件夾下單首創建一個layouts文件夾,用來存放admin佈局文件,否則會出錯,另外若是須要加載外部文件,最好本身在assets裏另建一個文件夾來存放。
相關文章
相關標籤/搜索