yii创建与设置默认控制器并载入模板

一、创建控制器

在protected下的controllers文件夹中创建自定义的控制器文件,比如:

IndexController.php (文件名首字母大写)

IndexController.php文件中添加如下代码:

class IndexController extends Controller {

    //创建方法,方法名称=action+方法名
public function actionIndex() { }
} 二、设置默认控制器 在protected下config/main.php配置文件中,添加 'defaultController' => 'Index' 三、截入视图 //默认载入布局
1.$this->render(); //默认不载入布局
2.$this->renderPartial(); 三、什么是布局 在views/layouts下面的文件是布局文件。
公共区域,用render自动加载文件。 修改步骤:
1.views/layouts下面的,新建好布局文件。
2.修改默认布局文件。 位置:components/Controller.php public $layout = '//layouts/column1'; 四、载入外部文件 css与js等一些文件放入assets里面,按照前后台分开。 Yii::app()->request->baseUrl; 例如: <?php echo Yii::app()->request->baseUrl; ?>/assets/index/css/index.css Yii::app()返回的是index.php里创建的CWebApplication实例。
在一次请求处理过程中,这是个唯一的实例。Yii::app()负责一些全局性的功能模块。 五、给视图分配数据 $data = array(
'title' => '标题';
); $this->render('index', $data); 六、视图中处理分配的数据 在yii中,数据以对象的形式存在。 <?php foreach($data as $v): ?>
<li><?php echo $v->title; ?></li>
<?php endforeach; ?> 七、扩展自定义函数 方法一: 在protected目录下创建一个functions.php文件,在index.php加载app前引入代码。 require_once './protected/functions.php'; 方法二: 在protected/components下建立一个工具静态类,如Tools class Tools {
public static function dump($arr) {
echo '<pre>';
print_r($arr);
echo '</pre>';
}
} 在控制器里面直接用Tools::dump()来使用。

yii创建与设置默认控制器并载入模板的更多相关文章

  1. CI如何在子目录下可以设置默认控制器

    CI建立大型大型的应用程序,需要创建子文件夹在application/controllers下建立文件夹app1app1目录下有多个控制器,ca.php,cb.php我希望定义app1下的默认控制器, ...

  2. CodeIgniter(3.1.4)框架中设置默认控制器

    创建的目录结构: 如果是以上这种目录分布结构,则在controller文件夹下没有相应的控制器文件.如果在浏览器中直接使用 [http://localhost]则找不到相应的控制器. 必须进行以下设置 ...

  3. yii2设置默认控制器

    以Yii2高级模板配置为例

  4. CodeIgniter 2.x和3.x修改默认控制器问题解答

    首先明确一点,CodeIgniter框架的2.x和3.x版本中修改默认控制器是有一点区别的 但相同的操作都是修改application/config/routes.php $route['defaul ...

  5. Yii2.0修改默认控制器

    设置默认控制器有两种方法 1.在/vendor/yiisoft/yii2/web/Application.PHP的第28行左右 public $defaultRoute = 'site';      ...

  6. 2. oracle创建表空间、用户并设置默认表空间、授权

    1.创建用户并设置默认表空间 create tablespace tablespacename datafile 'tablespacename.dbf' size 200m autoextend o ...

  7. yii 关于如何改变默认访问的控制器(site)

    以前Yii1学了个皮毛就没去管了,现在想重新捡起来Yii2.0.2却出来了,于是搭建好环境来学习. 安装好Yii2后第一个想到的问题就是修改默认的控制器了. 按照网上所说,终于在/vendor/yii ...

  8. YII2如何修改默认控制器/方法

    在网上找了非常多的方法,但是都不好使最后自己综合网上所有自己琢磨出来的,见笑了 首先Yii2中在/vendor/yiisoft/yii2/web/Application.php的第28行 public ...

  9. 【ASP.NET Web API教程】2.3.6 创建产品和订单控制器

    原文:[ASP.NET Web API教程]2.3.6 创建产品和订单控制器 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. Part 6 ...

随机推荐

  1. pandas的merge函数

    pandas.merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index= ...

  2. python程序里加入调试断点

    在需要打断的地方加入:import pdb;pdb.set_trace()即可 如:

  3. 理解prototype

    从别人的博客里面盗了2张图,这2张图将对象/实例/prototype/__proto__/constructor之间的关系描绘的很清楚. 1.prototype 为 function的属性,实例化的对 ...

  4. python学习之----urllib与urllib2的区分

    urllib 还是urllib2 ? 如果你用过Python 2.x 里的urllib2 库,可能会发现urllib2 与urllib 有些不同. 在Python 3.x 里,urllib2 改名为u ...

  5. Jenkins邮件扩展(Email Extension插件 Windows环境)

    1.Jenkins ver. 2.107.3版本自带Email Extension插件启动后即可看到系统设置里的 Extended E-mail Notification ,如果没有请安装 2.安装过 ...

  6. npm WARN react-native-maps@0.14.0 requires a peer of react@>=15.4.0 but none was installed

    install  the  react-native     here comes a  questions :: npm WARN react-native@0.41.2 requires a pe ...

  7. 温故而知新-正则单词和strlen

    1 正则表达式用\b表示单词的开始和结束 \bblog\b 正则查找blog这个单词 2 关于strlen的汉字问题 在utf8格式下  strlen('汉字')=6 在gbk格式下 strlen(' ...

  8. CUDA C Programming Guide 在线教程学习笔记 Part 3

    ▶ 表面内存使用 ● 创建 cuda 数组时使用标志 cudaArraySurfaceLoadStore 来创建表面内存,可以用表面对象(surface object)或表面引用(surface re ...

  9. 【原】解决Debug JDK source 无法查看局部变量的问题方案(重新编译rt.jar包)

    一.问题阐述 首先我们要明白JDK source为什么在debug的时候无法观察局部变量,因为在jdk中,sun对rt.jar中的类编译时,去除了调试信息,这样在eclipse中就不能看到局部变量的值 ...

  10. JS时间格式和时间戳的互转

    //时间格式转为时间戳 function sjc(){ var date = new Date(); //时间对象 var str = date.getTime(); //转换成时间戳 } //时间戳 ...