2.[Yii]创建与设置默认控制器及载入模板

1.创建控制器与访问

class IndexController extends Controller
{//访问 index.php?r=index/index//r=后面 其中第一个是控制器,第二个是方法,r就是路由route的缩写public function actionIndex(){$this->render("index");//载入模板文件
    }
}

 

2.配置默认控制器

默认访问:控制器SiteController下面的actionIndex方法

config/main.php 是主配置文件,在其中加入:

"defaultController" =>"index"

 

3.载入视图文件

在控制器中

$this->render();//载入布局文件$this->renderPartial();//不载入布局文件(也不能载入框架自带的jquery)

 

建立文件夹需要根据控制器名字来建立,里面的文件名也就是render或者renderPartial方法传递的名字

例如:

控制器是Index,你就需要建立一个index文件夹

$this->render("index");或者$this->renderPartial("index");需要在index文件夹里面建立index.php模板文件

 

(1)什么是布局

在views/layouts下面的文件是布局文件,公共区域,用render自动加载的文件

修改步骤:

(1)views/layouts下面,新建好布局文件。

(2)修改默认布局文件:

位置:components/Controller.php

public $layout = "//layouts/column1"

 

(2)布局内容

上边是公用头部

中间<?php echo $content;?>

尾部是公共尾部

 

4.如何引入外部样式

css与js等一些文件放入assets里面,按照前后台分开

Yii::app()->request->baseUrl

例如:

echo Yii::app()->request->baseUrl."/assets/index/css/index.css";

Yii::app()返回的是你在index.php里创建的CWebApplication实例。在一次请求处理过程中,这是一个唯一的实例。Yii::app()主要负责一些全局性的功能模块

 

5.分配给视图数据

分配数据给视图时,要以数组的形式分配

$name = "joshua";$age = "23";$data = array("name" =>$name,"age" => $age,"info" =>array("height"=>"178","province"=>"henan"));$this->renderPartial("index",$data);
echo $name."--".$age;
print_r($data);

 

6.处理视图中的分配数据

在Yii框架中,数据以对象的形式存在

也就是说,从数据库中取出的数据都是以对象的形式存在

所以循环数据时是这样的

<?php foreach($data as $v);?>
<li><?php echo $v->title;?><li>
<?php endforeach;?>

 

7.扩展自定义函数

在protected目录下见自己的扩展函数

例如:自定义一个打印数组的函数 functions.php

//格式化打印数组
function P($arr)
{//首先判断是否数组if(is_array($arr)){echo "<pre>";print_r($arr);echo "</pre>";}else{echo "参数不是数组!";}    
}

并在入口处引入该文件

include dirname(__FILE__).'/protected/functions.php';

 

转载于:https://www.cnblogs.com/joshua317/articles/3910881.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序根据手机机型设置自定义底部导航距离

需求: iponeX 以上机型,手机底部有弧度,自己写的导航栏会被遮住, 需要判断手机机型,做兼容设置. 解决: //app.js App({/*** 当小程序初始化完成时&#xff0c;会触发 onLaunch&#xff08;全局只触发一次&#xff09;*/onLaunch: function() {var that this;//获取手机型号…

张雨生《口是心非》

[hjp3]hjptypesong&player1&sonhttp://www.justin-rao.net/songs/[1997]%20ZhangYuSheng%20-%20KouShiXinFei%20-%2002%20-%20KouShiXinFei.mp3&autoplayno&captionfalse&lrc&autoreplay1&bgcolorFFFFFF&width200&height20[/hjp3] 转载于:…

JS之颠倒数组元素的reverse方法

作用&#xff1a;reverse() 方法用于颠倒数组中元素的顺序 语法&#xff1a;arrayObject.reverse() 注意&#xff1a;该方法会改变原来的数组&#xff0c;而不会创建新的数组 实例1&#xff1a;

图文:详解数据库Oracle 11g的基本安装

From: http://blog.csdn.net/wjcreator123/article/details/3243041 下面提供的是Oracle 11g的下载地址和基本安装过程&#xff08;仅作参考&#xff09; 第一步&#xff1a; oracle服务端下载: http://down.zdnet.com.cn/detail/9/82225.shtml 客户端: http://blog.csdn.net…

acid(数据库事务正确执行的四个基本要素的缩写)

ACID&#xff0c;指数据库事务正确执行的四个基本要素的缩写。包含&#xff1a;原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;、持久性&#xff08;Durability&#xff09;。一个支持事务&am…

mysql数据库中查看当前使用的数据库是哪个数据库?

一、用select database()语句 语句 mysql > select database();结果 解释&#xff1a;表示的是当前使用的是哪个数据库或者说会话登录到了哪个数据库中。 二、用show tables语句 语句 mysql > show tables;结果 解释&#xff1a;查询出来的结果中&#xff0c;第一行…

JS之返回数组指定元素的slice

作用&#xff1a;slice() 方法可从已有的数组中返回选定的元素 语法&#xff1a;arrayObject.slice(start,end) 参数1&#xff1a;必需。规定从何处开始选取。如果是负数&#xff0c;那么它规定从数组尾部开始算起的位置。也就是说&#xff0c;-1 指最后一个元素&#xff0c;…

使用 ADO.NET 的 NextResult 方法取得多个 Result Set

(本帖在版工的旧 Blog 中&#xff0c;发表日期为 2007/04/06) (本帖有些 Hyperlink 是连到台湾的网站&#xff0c;若无法连结&#xff0c;麻烦请留言反应)从 ADO.NET 1.x 开始&#xff0c;DataReader 就可以在单一次的查询动作中&#xff0c;「批次 (batch)」读取 T-SQL 语句以…

linux下启动与关闭oracle监听与实例

linux中启动oracle主要分两步&#xff1a;一个是启动监听器&#xff0c;一个是启动实例(一般都忘记了这一步),具体命令如下&#xff0c;提供给大家参考一下&#xff1a; 1:连接服务器 telnet ip 2:输入管理员用户和密码 user-name:oracle password:oracle 3:进入oracle根目录 …

同步和互斥

一、同步和互斥的基本概念 现代操作系统基本都是多任务操作系统&#xff0c;即同时有大量可调度实体在运行&#xff0c;同时运行可能是真的同时运行&#xff08;SMP架构中&#xff09;&#xff0c;也可能仅仅是操作系统提供的服务&#xff08;通过将CPU时间分片&#xff0c;并将…

Mysql常用命令行大全

1、连接Mysql 格式&#xff1a; mysql -h主机地址 -u用户名 &#xff0d;p用户密码 1、连接到本机上的MYSQL。 首先打开DOS窗口&#xff0c;然后进入目录mysql\bin&#xff0c;再键入命令mysql -u root -p&#xff0c;回车后提示你输密码.注意用户名前可以有空格也可以没有空…

React开发(113):git 操作记录

git reflog 可以查看所有分支的所有操作记录&#xff08;包括&#xff08;包括commit和reset的操作&#xff09;&#xff0c;包括已经被删除的commit记录&#xff0c;git log则不能察看已经删除了的commit记录 具体一个例子&#xff0c;假设有三个commit&#xff0c; git st: …

从printf谈可变参数函数的实现

作者&#xff1a;戎亚新 摘要&#xff1a;一直以来都觉得printf似乎是c语言库中功能最强大的函数之一&#xff0c;不仅因为它能格式化输出&#xff0c;更在于它的参数个数没有限制&#xff0c;要几个就给几个&#xff0c;来者不拒。printf这种对参数个数和参数类型的强大适应性…

JS之数组删除/添加项目方法splice

用法&#xff1a;splice() 方法向/从数组中添加/删除项目&#xff0c;然后返回被删除的项目 注:1&#xff1a;该方法会改变原始数组 语法&#xff1a;arrayObject.splice(index,howmany,item1,…..,itemX) 参数1&#xff1a;必需。整数&#xff0c;规定添加/删除项目的位置&…

Struts+DAO框架搭建完成!(源码)

今天做了这个StrutsDAO框架&#xff0c;可以说是又向SSH迈了一步。 做的过程中又发现了一些问题&#xff0c;但是在我和其他人的努力下一起解决了。这个问题是MyEclipse的Tomcat的启动问题。&#xff08;已经解决并发帖解答了&#xff09; 好了&#xff0c;下面切入正题&…

HTTP1.1中CHUNKED编码解析(转载)

HTTP1.1中CHUNKED编码解析 一般HTTP通信时&#xff0c;会使用Content-Length头信息性来通知用户代理&#xff08;通常意义上是浏览器&#xff09;服务器发送的文档内容长度&#xff0c;该头信息定义于HTTP1.0协议RFC 1945 10.4章节中。浏览器接收到此头信息后&#xff0c;接受…

解析可变参数函数的实现原理(printf,scanf)

From: http://hi.baidu.com/huifeng00/blog/item/085e8bd198f46ed3a8ec9a0b.html 学习C的语言的时候&#xff0c;肯定接触到标准输出和标准输入函数。 这个函数给人的感觉很强大&#xff0c;因为它很另类&#xff0c;就是这个函数的参数是可变的。 下面是一个自己编写的可变…