Yii框架后续
关于Yii框架遗留的知识点。
1.url路由方式
(1).问号传参(默认)
eg: http://localhost/项目/app/index.php
http://localhost/项目/app/index.php?r=控制器/方法
http://localhost/项目/app/index.php?r=控制器/方法/名/值
<a href="index.php?r=控制器/方法"></a>
<img src="data:images/xxx.jpg">
<link href="css/xxx.css">
<script src="assets/jquery/jquery-1.4.js">
(2).pathinfo的方式
eg: http://localhost/项目/app/index.php
http://localhost/项目/app/index.php/控制器/方法
http://localhost/项目/app/index.php/控制器/方法/名/值
<a href="入口文件地址/控制器/方法"></a>
<img src="根目录地址/images/xxx.jpg">
<link href="根目录地址/css/xxx.css">
<script src="根目录地址/assets/jquery/jquery-1.4.js">
注:Yii框架默认的传参方式时url传参,必须在配置文件上开启pathinfo传参方式,并且不能加伪静态后缀.Html,因为没有封装。
修改配置文件:开启pathinfo访问模式:打开config->main.php找到下面的这些
/*
'urlManager'=>array(
.....
),
*/
去掉上边代码的注释
2.设置错误页面(当网站出错时,跳转到哪个页面。在配置文件里修改)
'errorHandler'=>array(
// use 'site/error' action to display errors
'errorAction'=>'error/index',
),
在controllers、views下新建一个错误页面
3.自定义系统常量
:在入口文件中定义
(1)、APP常量(写链接地址、跳转地址)
define("APP","/项目/app/index.php");
define("APP","/bbs/app/index.php");
define("APP","/php/mvc/day_08/bbs/app/index.php");
(2)、ROOT常量(引用css、images、assets)
define("ROOT","/项目/app");
define("ROOT","/bbs/app");
define("ROOT","/php/mvc/day_08/bbs/app");
4.重定向
$this->redirect("跳转地址");
$this->redirect("index.php?r=控制器/方法");
$this->redirect(APP."/控制器/方法");
5.自定义类的做法
(1)、在components目录下新建自定义类
(2)、控制器通过类名直接调用该类既可(不用包含,系统自动包含)
(3)、配置文件中,设置自动包含文件的目录
'import'=>array(
'application.models.*',//models目录下的文件自动包含
'application.components.*',//components目录下的文件自动包含
'application.data.*',//例子:比如data目录下所有文件自动包含
),
6.验证码的做法
(1)、系统自带的验证码
/项目/framework/web/widgets/captcha/CCaptchaAction.php
1)控制器中的代码
public function actions()
{
return array(
"名 "=>array("class"=>"system.web.widgets.captcha.CCaptchaAction"),
);
}
2)视图的图片
<img src="<?php echo APP?>/login/名">
(2)、自定义验证码类
/项目/app/protected/components/Image.php
1)控制器中的代码
public function actions()
{
return array(
"名"=>array("class"=>"application.components.Image"),
);
}
2)视图的图片
<img src="<?php echo APP?>/login/名">
7.Yii类里的常用属性
(1)、数据库封装类的对象
Yii::app()->db;
(2)、获得错误对象的句柄
Yii::app()->errorHandler;
Yii::app()->errorHandler->error;
(3)、获得或设置session
$变量 = Yii::app()->session["名"];
Yii::app()->session["名"] = 值;
(4)、获得或设置cookie
$变量 = Yii::app()->cookie["名"];
Yii::app()->cookie["名"] = 值;
8.Yii缓存:文件缓存
(1)、页面缓存
(2)、片段缓存(局部缓存)
(3)、数据缓存(变量缓存)
(4)、动态缓存(局部不缓存)
修改配置文件,开启缓存
"components"=>array( //开启缓存 "cache"=>array( "class"=>"system.caching.CFileCache" ), ...... ...... );
片段缓存(局部缓存)
1>、在视图页面添加如下代码
<?php
if($this->beginCache("别名",array("duration"=>时间)))
{
?>
缓存内容
<?php
$this->endCache();
}
?>
页面缓存
1>、在控制器中添加如下代码
public function filters()
{
return array( array( "system.web.widgets.COutputCache", "duration"=>时间 )
);
}
数据缓存(变量缓存)
1>、在控制器中添加如下代码
1)向缓存中添加数据
Yii::app()->cache->set(名,值,时间);
2)获得缓存中指定的数据
$变量 = Yii::app()->cache->get(名);
3)删除缓存中指定的数据
Yii::app()->cache->delete(名);
4)清空缓存
Yii::app()->cache->flush();
动态缓存(局部不缓存)
1>、首先开启页面缓存
2>、在控制器中添加如下方法
public function 方法名()
{
return 不想缓存的数据;
}
3、在视图上添加如下代码
echo $this->renderDynamic("方法名");
看到最后的亲们,有好礼啦。这是自己编写的Yii框架手册,拿走,不谢...... (链接:http://pan.baidu.com/s/1kUNdhHH 密码:xypq)
关于Yii框架的暂时说到这里。下期见喽......
Yii框架后续的更多相关文章
- YII框架路由和URL生成
路由和URL生成 当一个YII应用开始处理一个请求的时候,它首先要做的便是将请求的URL转化成一个路由.路由的作用是用于后续实例化相应的控制器和操作,以便处理请求,整个处理过程便叫做路由.路由的逆过程 ...
- 关于Yii框架的基础知识
第一次写博文,也不知道怎么写,不太熟悉,带小伙伴学习一样我日常使用的Yii框架. PHP中的开发框架有很多,比如:ThinkPHP.Yii.CI.Laravel.Phalcon等.现在流行度最高的是L ...
- PHP开发框架之YII框架学习——碾压ThinkPHP不是梦
前 言 JRedu 程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的 ...
- yii框架学习(MVC)
路由:两种方式,第一种是默认方式访问,假设配置了虚拟主机,那么localhost/web/index.php?r=admin/index 访问的是controllers目录下的admin控制器里 ...
- yii框架安装心得
最近在学习yii框架, 现在将遇到的一些问题和解决方法写出来与大家分享. yii框架的安装: 下载yii框架之后, 打开文件运行init.bat文件, 如果闪退就打开php的扩展(php_openss ...
- Yii框架 400 错误
YII 400错误 在YII框架中400错误是csrf校验失败的意思 csrf是什么? CSRF(Cross-site request forgery跨站请求伪造,也被称为"One Cli ...
- Yii框架CURD方法
在YII框架中,CURD有2种方式: 1.AR模式:2. DAO模式 AR模式下 查全部 MODEL $model->find()->asArray()->all()查单 个 ...
- Yaf(Yet Another Framework)用户手册 yii框架手册
地址:http://www.laruence.com/manual/ yaf框架手册:http://pan.baidu.com/s/1bnHFPHd yii框架手册:http://pan.baidu. ...
- yii框架的理解
Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web 2.0应用开发所需要的几乎一切功能.Yii是最有效率的PHP框架之一. yii框架里 ...
随机推荐
- 使用Atom打造无懈可击的Markdown编辑器
一直以来都奢想拥有一款全能好用的Markdown编辑器,直到遇到了Atom.废话不多说,直接开搞! 1. 安装Atom 下载安装Atom:https://atom.io/ 2. 增强预览(markdo ...
- QQ登陆接口
这次做了一个QQ登陆接口---简单记录一下 遇到一大坑-----QQ互联里面添加应用的时候,是网站应用,配置回调地址一定要配置 准确,到指定回调页面 否则会出现问题的.
- Page-Object设计模式
自动化脚本初写之际一定是只求完成功能测试,页面by.id.by.name.by.xpath满篇飞.业务逻辑代码重复率也是越来越高.慢慢的写着写着开始重构,开始封装一些方法.代码量好一些的人会在代码开始 ...
- Linux网络那点事
跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 之前的之前说过网络自连接的配置(CentOS服务器网络配置:http://ww ...
- VB6/VBA中跟踪鼠标移出窗体控件事件(类模块成员函数指针CHooker类应用)
一.关于起因 前几天发了一篇博文,是关于获取VB类模块成员函数指针的内容(http://www.cnblogs.com/alexywt/p/5880993.html):今天我就发一下我的应用实例. V ...
- Android安全开发之启动私有组件漏洞浅谈
0x00 私有组件浅谈 android应用中,如果某个组件对外导出,那么这个组件就是一个攻击面.很有可能就存在很多问题,因为攻击者可以以各种方式对该组件进行测试攻击.但是开发者不一定所有的安全问题都能 ...
- 图的基本算法(BFS和DFS)(转载)
图是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或联系.对象由顶点(V)表示,而对象之间的关系或者关联则通过图的边(E)来表示. 图可以分为有向图和无向图,一般用G=(V,E)来表示图. ...
- asp.net core源码飘香:Configuration组件
简介: 这是一个基础组件,是一个统一的配置模型,配置可以来源于配置文件(json文件,xml文件,ini文件),内存对象,命令行参数,系统的环境变量又或者是你自己扩展的配置源,该组件将各个配置源的数据 ...
- JS实现轻量级计算器
想尝试做一个网页版计算器后,参考了很多博客大神的代码,综合归纳.总结修改,整理如下文. 附: Demo 源码 一.HTML+CSS 具体结构样式如下图,基本参照手机计算器界面.按钮功能可以查 ...
- Vxlan与网卡offload性能
背景 由于数据链路层MTU的限制,发送端TCP/UDP数据在交付到IP层时需要与MTU相匹配,TCP数据不能超过mss,较长的UDP需要分片(Fragmentation)以满足MTU要求:接收端协议栈 ...