关于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框架后续的更多相关文章

  1. YII框架路由和URL生成

    路由和URL生成 当一个YII应用开始处理一个请求的时候,它首先要做的便是将请求的URL转化成一个路由.路由的作用是用于后续实例化相应的控制器和操作,以便处理请求,整个处理过程便叫做路由.路由的逆过程 ...

  2. 关于Yii框架的基础知识

    第一次写博文,也不知道怎么写,不太熟悉,带小伙伴学习一样我日常使用的Yii框架. PHP中的开发框架有很多,比如:ThinkPHP.Yii.CI.Laravel.Phalcon等.现在流行度最高的是L ...

  3. PHP开发框架之YII框架学习——碾压ThinkPHP不是梦

      前  言 JRedu 程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的 ...

  4. yii框架学习(MVC)

    路由:两种方式,第一种是默认方式访问,假设配置了虚拟主机,那么localhost/web/index.php?r=admin/index    访问的是controllers目录下的admin控制器里 ...

  5. yii框架安装心得

    最近在学习yii框架, 现在将遇到的一些问题和解决方法写出来与大家分享. yii框架的安装: 下载yii框架之后, 打开文件运行init.bat文件, 如果闪退就打开php的扩展(php_openss ...

  6. Yii框架 400 错误

    YII  400错误 在YII框架中400错误是csrf校验失败的意思 csrf是什么? CSRF(Cross-site request forgery跨站请求伪造,也被称为"One Cli ...

  7. Yii框架CURD方法

    在YII框架中,CURD有2种方式: 1.AR模式:2. DAO模式 AR模式下 查全部   MODEL  $model->find()->asArray()->all()查单 个  ...

  8. Yaf(Yet Another Framework)用户手册 yii框架手册

    地址:http://www.laruence.com/manual/ yaf框架手册:http://pan.baidu.com/s/1bnHFPHd yii框架手册:http://pan.baidu. ...

  9. yii框架的理解

    Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web 2.0应用开发所需要的几乎一切功能.Yii是最有效率的PHP框架之一. yii框架里 ...

随机推荐

  1. 给IIS添加网站配置权限

    1.新建一个网站,填好名字,路径和主机名端口等等 2.为网站添加一个用户 3.用户隶属于Guests,和IIS_IUSRS 4.把网站的完全控制权限赋给刚才的用户. 在网站右键--编辑权限--安全 或 ...

  2. 说说JAVA之网络编程 - 爬虫

    首先总结一下学习过程中所需要的类: URL类 - openConnection() URLConnection类 - connection() getInputStream() BufferedRea ...

  3. JavaScript 方法调用模式和函数调用模式

    这两天在读<JavaScript语言精粹>关于第4章函数调用的几种模式琢磨了半天. 这里就说一下方法调用模式跟函数调用模式. 方法调用模式: 当一个函数被保存为对象的一个属性时,我们称它为 ...

  4. bzoj3531——树链剖分+动态开点线段树

    3531: [Sdoi2014]旅行 Time Limit: 20 Sec  Memory Limit: 512 MB Description S国有N个城市,编号从1到N.城市间用N-1条双向道路连 ...

  5. 开源的.NET媒体文件操作组件TagLib#解析

    人生得意须尽欢 莫使金樽空对月.写博客都会在吃饭后,每次吃饭都要喝上二两小酒,写博客前都要闲扯,这些都是个人爱好,改不掉了,看不惯的人,还望多多包含一下,有相同爱好的同学,咱们可以一起喝着小酒一边吹牛 ...

  6. 【Egret】2D 使用中的一些疑难解决技巧!

    1.问题:声音在ios上无法播放    解决方法:①首先需要预加载一个声音                        ②然后目前只有点击之后才能播放声音,不能默认播放 2.问题:滚动条问题   解 ...

  7. PPT自动载入图片并矩阵分布

    最近有学生问到,能不能快速的向PPT一个页面里插入成百张图片,并让它们按统一大小的矩形排布到页面上.我写了以下代码可以在第1页中按照指定横向和纵向矩形数目,填充指定路径下的图片. Sub LoadPi ...

  8. 关于WdatePicker.js的结束时间大于开始时间

    简单笔记 : WdatePicker.js 要使结束时间大于开始时间只要在线束时间的 minDate:'#F{$dp.$D(\'stimeParam\')}' 即可:不多说 详细代码如下: <t ...

  9. Uva 11076 Add Again (数论+组合数学)

    题意:给你N个数,求把他们的全排列加和为多少 思路:对于这道题,假设数字k1在第一位,然后求出剩下N-1位的排列数num1,我们就可以知道k1在第一位时 排列有多少种为kind1, 同理,假设数字k2 ...

  10. Struts2基础学习(四)—类型转换器和数据校验

    一.自定义类型转换器 1.概述      Struts2提供了常规类型转换器,可以用于常用数据类型的转换,但如果目标类型是一个特殊类型,则需要自定义转换器.Struts2 类型转换器实际上都是基于OG ...