本文实例讲述了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