【深入解析PHP的Yii框架中的event事件机制_PHP】教程文章相关的互联网学习教程文章

YII框架页面缓存操作示例

本文实例讲述了YII框架页面缓存操作。分享给大家供大家参考,具体如下: IndexController.php namespace frontend\controllers; use yii; use yii\web\Controller; class IndexController extends Controller {public function behaviors()//先于action执行,可以用来实现页面缓存{return [[class=>yii\filters\PageCache,//整个页面缓存duration=>10,//缓存时间only=>[cache],//只有index操作会被缓存,即使没有视图展示也会缓存de...

YII框架http缓存操作示例

本文实例讲述了YII框架http缓存操作。分享给大家供大家参考,具体如下: http禁止缓存原理 header(Expires: 0); header(Last-Modified: . gmdate(D, d M Y H:i:s) . GMT); header(Cache-Control: no-store, no-cahe, must-revalidate); //ie专用 header(Cache-Control: post-chedk=0, pre-check=0, false); //for HTTP/1.0 header(Pragma: no-cache);HttpcacheController.php 首先判断的是客户端lastModified,如果最后更新时间没有...

Yii2框架的csrf验证原理分析及token缓存解决方案【代码】

本文主要分三个部分,首先简单介绍csrf,接着对照源码重点分析一下yii框架的验证原理,最后针对页面缓存导致的token被缓存提出一种可行的方案。涉及的知识点会作为附录附于文末。感兴趣的朋友了解一下吧。1.CSRF描述CSRF全称为“Cross-Site Request Forgery”,是在用户合法的SESSION内发起的攻击。黑客通过在网页中嵌入Web恶意请求代码,并诱使受害者访问该页面,当页面被访问后,请求在受害者不知情的情况下以受害者的合法身份发...

PHP—yii框架缓存知识集锦

Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。缓存是用于提升网站性能的一种即简单又有效的途径。稍微有点规模的网站都会通过存储相对静态的数据至缓存以备所需,这样我们可以省去从数据库查询然后生成这些数据的时间,通过减轻数据库的压力从而提升网站的性能。Yii作为一个强大...

Yii框架官方指南系列30——缓存:片段缓存(FragmentCaching)

片段缓存指缓存网页某片段。例如,如果一个页面在表中显示每年的销售摘要,我们可以存储此表在缓存中,减少每次请求需要重新产生的时间。要使用片段缓存,在控制器视图脚本中调用CController::beginCache() 和CController::endCache() 。这两种方法开始和结束包括的页面内容将被缓存。类似data caching ,我们需要一个编号,识别被缓存的片段。...别的HTML内容... <?php if($this->beginCache($id)) { ?> ...被缓存的内容... <?php...

Yii框架官方指南系列31——缓存:页面缓存

页面缓存指的是缓存整个页面的内容。页面缓存可以发生在不同的地方。 例如,通过选择适当的页面头,客户端的浏览器可能会缓存网页浏览有限时间。 Web应用程序本身也可以在缓存中存储网页内容。 在本节中,我们侧重于后一种办法。页面缓存可以被看作是 片段缓存一个特殊情况 。 由于网页内容是往往通过应用布局来生成,如果我们只是简单的在布局中调用beginCache() 和endCache(),将无法正常工作。 这是因为布局在CController::rend...

Yii框架官方指南系列32——缓存:动态内容(DynamicContent)

当使用fragment caching或page caching,我们常常遇到的这样的情况 整个部分的输出除了个别地方都是静态的。例如,帮助页可能会显示静态的帮助 信息,而用户名称显示的是当前用户的。解决这个问题,我们可以根据用户名匹配缓存内容,但是这将是我们宝贵空间一个巨大的浪费,因为缓存除了用户名其他大部分内容是相同的。我们还可以把网页切成几个片段并分别缓存,但这种情况会使页面和代码变得非常复杂。更好的方法是使用由[ CContr...

Yii框架官方指南系列28——缓存:概览

缓存是提升Web应用性能的简便有效的方式。通过将相对静态的数据存储到缓存并在收到请求时取回缓存,我们便节省了生成这些数据所需的时间。在 Yii 中使用缓存主要包括配置并访问一个应用组件。 下面的应用配置设定了一个使用两个 memcache 缓存服务器的缓存组件。array(......components=>array(......cache=>array(class=>system.caching.CMemCache,servers=>array(array(host=>server1, port=>11211, weight=>60),array(host=>ser...

Yii框架官方指南增补系列29——缓存:数据缓存

数据缓存即存储一些 PHP 变量到缓存中,以后再从缓存中取出来。出于此目的,缓存组件的基类 CCache 提供了两个最常用的方法: set() 和 get()。要在缓存中存储一个变量 $value ,我们选择一个唯一 ID 并调用 set() 存储它:Yii::app()->cache->set($id, $value);缓存的数据将一直留在缓存中,除非它由于某些缓存策略(例如缓存空间已满,旧的数据被删除)而被清除。 要改变这种行为,我们可以在调用 set() 的同时提供一个过期参数,...

Yii框架读取缓存出错【图】

Yii框架读取缓存报错如图所示:------解决方案--------------------贴出你php连接memcache代码,确定连接的ip允许远程连接。

请问YII框架有哪些缓存可以用?

经常听到使用Yii的什么页面缓存,什么片段缓存之类的。。求大神释疑回复内容:经常听到使用Yii的什么页面缓存,什么片段缓存之类的。。求大神释疑http://www.yiiframework.com/doc/guide/1.1/zh_cn/caching.overview不谢。

详解PHP的Yii框架中日志的相关配置及使用【图】

默认的日志是输出到protected/runtime/application.log 如果需要修改那么需要在main.php里面的 components 下面增加log配置,如下: preload => array(log),//这句也必须加上components => array( log=>array( class=>CLogRouter, routes=>array(//这是一个文件route表示category为test开头的所有类型的输出都会记录到runtime/test.log下面 array( 'class'=>'CFileLogRoute', 'levels'=>'trace, info, debug, warn, error, fatal, ...

PHP的Yii框架的常用日志操作总结

日志 Yii提供了一个高度自定义化和高扩展性的日志框架。根据使用场景的不同,你可以很容易的对各种消息就行记录、过滤、合并,比如说文本文件,数据库文件,邮件。 使用Yii的日志框架包含如下步骤: 调用日志记录的方法在主应用的配置文件(例如basic下面的web.php)中配置好日志的过滤和导出的设置检查不同场景下经过过滤之后的日志信息记录日志记录日志其实就是简简单单的调用如下的方法: [[Yii::trace()]]: 记录关于某段代码运行...

全面解读PHP的Yii框架中的日志功能

Yii页面级日志开启 在 Main.php中 log段添加、 下面显示页面日志 array( class=>CWebLogRoute, levels=>trace, //级别为trace categories=>system.db.* //只显示关于数据库信息,包括数据库连接,数据库执行语句 ), 完整如下: log=>array(class=>CLogRouter,routes=>array(array(class=>CFileLogRoute,levels=>error, warning,),// 下面显示页面日志 array( class=>CWebLogRoute, levels=>trace, //级别为trace categories=>system...

关于PHP的Yii框架中的日志功能

这篇文章主要介绍了PHP的Yii框架中的日志,对日志的分析是日常网站维护中的基础,Yii提供了较为强大的日志功能,需要的朋友可以参考下Yii页面级日志开启在 Main.php中 log段添加、下面显示页面日志 array( class=>CWebLogRoute, levels=>trace, //级别为trace categories=>system.db.* //只显示关于数据库信息,包括数据库连接,数据库执行语句 ),完整如下:log=>array(class=>CLogRouter,routes=>array(array(class=>CFileLogRoute,lev...

框架 - 相关标签