yii创建与设置默认控制器并载入模板
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创建与设置默认控制器并载入模板的更多相关文章
- CI如何在子目录下可以设置默认控制器
CI建立大型大型的应用程序,需要创建子文件夹在application/controllers下建立文件夹app1app1目录下有多个控制器,ca.php,cb.php我希望定义app1下的默认控制器, ...
- CodeIgniter(3.1.4)框架中设置默认控制器
创建的目录结构: 如果是以上这种目录分布结构,则在controller文件夹下没有相应的控制器文件.如果在浏览器中直接使用 [http://localhost]则找不到相应的控制器. 必须进行以下设置 ...
- yii2设置默认控制器
以Yii2高级模板配置为例
- CodeIgniter 2.x和3.x修改默认控制器问题解答
首先明确一点,CodeIgniter框架的2.x和3.x版本中修改默认控制器是有一点区别的 但相同的操作都是修改application/config/routes.php $route['defaul ...
- Yii2.0修改默认控制器
设置默认控制器有两种方法 1.在/vendor/yiisoft/yii2/web/Application.PHP的第28行左右 public $defaultRoute = 'site'; ...
- 2. oracle创建表空间、用户并设置默认表空间、授权
1.创建用户并设置默认表空间 create tablespace tablespacename datafile 'tablespacename.dbf' size 200m autoextend o ...
- yii 关于如何改变默认访问的控制器(site)
以前Yii1学了个皮毛就没去管了,现在想重新捡起来Yii2.0.2却出来了,于是搭建好环境来学习. 安装好Yii2后第一个想到的问题就是修改默认的控制器了. 按照网上所说,终于在/vendor/yii ...
- YII2如何修改默认控制器/方法
在网上找了非常多的方法,但是都不好使最后自己综合网上所有自己琢磨出来的,见笑了 首先Yii2中在/vendor/yiisoft/yii2/web/Application.php的第28行 public ...
- 【ASP.NET Web API教程】2.3.6 创建产品和订单控制器
原文:[ASP.NET Web API教程]2.3.6 创建产品和订单控制器 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. Part 6 ...
随机推荐
- RmNet,CDC-ECM ,NDIS,RNDIS区别
RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 在高通平台上,rmnet driver 和标准的CDC-ECM是有区别的,rmnet ...
- 批处理-通过mono把c#编译成dll
::copyright@cjy @echo off ::mcs.exe address set addrMcs=D:\Program Files\Unity\Editor\Data\MonoBleed ...
- Python模块之shelve
shelve是python的自带model. 可以直接通过import shelve来引用. shelve类似于一个存储持久化对象的持久化字典,即字典文件. 使用方法也类似于字典. 保存对象至shel ...
- 清理mysql binlog日志
1.查看binlog日志 mysql> show binary logs; +------------------+------------+| Log_name | File_ ...
- js基础和运算符
1.什么JavaScript? 运行环境 : 浏览器 是一种具有安全性的客户端的脚本语言 用来实现与web页面交互 脚本语言:语言嵌入到htm ...
- nodejs——压缩文件_archiver
工作需要,由于html无法访问并下载带有中文的路径,例子:“127.0.0.1::8088/files/第一张图片.jpg”,所以想到了先将原图片压缩并命名为不带中文的文件名,下载后用户自行解压缩的方 ...
- 1.line (线)
1.横线 HTML代码: 横线(水平线) <hr/> <div class="row"> 横线(盒子上边框线) </div> CSS代码: .r ...
- [ilink32 Error] Fatal: Unable to open file 'RM_COMMON.OBJ'
[ilink32 Error] Fatal: Unable to open file 'RM_COMMON.OBJ' [ilink32 Error] Fatal: Unable to open fil ...
- 浅谈Http、TCP、UDP和 IP 的的区别
应用层:Http,超文本传输协议(HyperText Transfer Protocal):利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议.客户端使用Web浏览器发起HTTP请求 ...
- Maven的几个常用plugin
出自:https://www.cnblogs.com/zhangxh20/p/6298062.html maven-compiler-plugin 编译Java源码,一般只需设置编译的jdk版本 &l ...