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