程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP Yii開源框架入門學習(四)添加新模塊

PHP Yii開源框架入門學習(四)添加新模塊

編輯:PHP綜合

1) 打開Gii代碼生成工具,進入Module Generator頁面,輸入模塊名如test,點擊生成;

2) 生成的代碼在protected/modules/test目錄下,生成的文件如下:

test/TestModule.php    ----  模塊主類,繼承自CWebModule

test/controllers/DefaultController.php  ----- 默認Controller,裡面有一個index action,action跳轉到index視圖;該模塊的Controller都放在這個目錄下

test/views/default/index.php  --- 這是DefaultController的視圖文件,對應index action;所有DefaultController的action的視圖文件都放在這裡;

3) 配置模塊

在config/main.php裡的modules中加入該模塊:

'modules'=>array(

          'main',

          'admin',

          'test',

),

4) 在模塊初始化函數中設置默認項:打開TestModule.php,在init方法中加入:

Yii::app()->errorHandler->errorAction = 'test/default/error';

Yii::app()->defaultController = 'test/default';

Yii::app()->user->loginUrl = 'test/default/login';

請確保這些action和controller都已經實現。

5) 打開浏覽器,訪問:http://127.0.0.1/zuizen/test/即可訪問到默認的首頁,這個首頁是默認Controller DefaultController裡的默認Index action跳轉到的default/index.php的視圖。

6) Yii的模塊中,所有Controller全部放在conroller目錄下,每一個controller都對應一個目錄,目錄位於views下,裡面存放該controller所有action對應的view。一般來講,一個獨立action都會對應一個view。

7) 加入需要添加模塊獨有的model和component,則都加在test/models 和test/components目錄下,在TestModule模塊類中會自動將他們引入:

          $this->setImport(array(

                   'test.models.*',

                   'test.components.*',

          ));

8) 需要添加模塊獨有的layout,請加到test/views/layouts目錄下,使用該layout時使用:/layouts/layoutName來調用,layout可以嵌套,父layout用<?php echo $content; ?>來為子layout占位,子layout內容包含在以下語句中,其中指定父layout:

<?php $this->beginContent('/layouts/main'); ?>

<?php $this->endContent(); ?>

9) 在Controller中指定該Controller所有action默認使用的layout

在Controller類中定義以下變量,以覆蓋父類中的默認值:

public $layout='/layouts/main';

public $defaultAction='index';

如果要是有網站根目錄下的layout,需要將目錄的/換成//.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved