本文實例講述了yii框架創建與設置默認控制器并載入模板操作。分享給大家供大家參考,具體如下:
一、創建控制器
在protected下的controllers文件夾中創建自定義的控制器文件,比如:
IndexController.php (文件名首字母大寫)
IndexController.php文件中添加如下代碼:
1
2
3
4
5
6
|
class IndexController extends Controller { //創建方法,方法名稱=action+方法名 public function actionIndex() { } } |
二、設置默認控制器
在protected下config/main.php配置文件中,添加
1
|
'defaultController' => 'Index' |
三、截入視圖
1
2
|
//默認載入布局 1. $this ->render(); |
1
2
|
//默認不載入布局 2. $this ->renderPartial(); |
三、什么是布局
在views/layouts下面的文件是布局文件。
公共區域,用render自動加載文件。
修改步驟:
1.views/layouts下面的,新建好布局文件。
2.修改默認布局文件。
位置:components/Controller.php
1
|
public $layout = '//layouts/column1' ; |
四、載入外部文件
css與js等一些文件放入assets里面,按照前后臺分開。
1
|
Yii::app()->request->baseUrl; |
例如:
1
|
<?php echo Yii::app()->request->baseUrl; ?>/assets/index/css/index.css |
Yii::app()返回的是index.php里創建的CWebApplication實例。
在一次請求處理過程中,這是個唯一的實例。Yii::app()負責一些全局性的功能模塊。
五、給視圖分配數據
1
2
3
4
|
$data = array ( 'title' => '標題' ; ); $this ->render( 'index' , $data ); |
六、視圖中處理分配的數據
在yii中,數據以對象的形式存在。
1
2
3
|
<?php foreach ( $data as $v ): ?> <li><?php echo $v ->title; ?></li> <?php endforeach ; ?> |
七、擴展自定義函數
方法一:
在protected目錄下創建一個functions.php文件,在index.php加載app前引入代碼。
1
|
require_once './protected/functions.php' ; |
方法二:
在protected/components下建立一個工具靜態類,如Tools
1
2
3
4
5
6
7
|
class Tools { public static function dump( $arr ) { echo '<pre>' ; print_r( $arr ); echo '</pre>' ; } } |
在控制器里面直接用Tools::dump()來使用。
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。
原文鏈接:https://www.cnblogs.com/jkko123/p/6294704.html