yii怎么生成一个XXX.html的缓存文件

html-css019

yii怎么生成一个XXX.html的缓存文件,第1张

可以用memcache实现缓存组件

array(

......

'components'=>array(

......

'cache'=>array(

'class'=>'system.caching.CMemCache',

'servers'=>array(

array('host'=>'server1', 'port'=>11211, 'weight'=>60),

array('host'=>'server2', 'port'=>11211, 'weight'=>40),

),

),

),

)

三、页面缓存

页面缓存指的是缓存整个页面的内容。页面缓存可以发生在不同的地方。例如,通过选择适当的页面头,客户端的浏

览器可能会缓存网页浏览有限时间。 Web 应用程序本身也可以在缓存中存储网页内容。 在本节中,我们侧重于后一

种办法。

页面缓存可以被看作是 片段缓存 (/doc/guide/caching.fragment) 一个特殊情况 。 由于网页内容是往往通过应用布局来生

成,如果我们只是简单的在布局中调用 beginCache() 和 endCache() ,将无法正常工作。这是因为布局 在

CController::render() 方法里的加载是在页面内容产生之后。

缓存整个页面,我们应该跳过产生网页内容的动作执行。我们可以使用 COutputCache 作为动作 过滤器

( /doc/guide/basics.controller#filter )来完成这一任务。下面的代码演示如何配置缓存过滤器:

[php] view plaincopyprint?

public function filters()

{

return array(

array(

'system.web.widgets.COutputCache',

'duration'=>100,

'varyByParam'=>array('id'),

),

)

}

上述过滤器配置会使过滤器适用于控制器中的所有行动。我们可能会限制它在一个或几个行动通过使用插件操作器。

更多的细节中可以看过滤器( /doc/guide/basics.controller#filter ) 。

提示 : 我们可以使用 COutputCache 作为一个过滤器 , 因为它从 CFilterWidget 继承过来 , 这意味着它是一个工具 (widget)

和一个过滤器。事实上, widge 的工作方式和过滤器非常相似:工具 widget ( 过滤器 filter) 是在 action 动作里的内容执

行前执行,在执行后结束。

yii controller和action是对应的,每一个界面的显示基本就是一个controller里面的action然后引用的视图,你在这里面使用CHtml输出了一个按钮,首先你要明确你这个按钮是想要做什么操作,是form提交呢?还是?form提交的话使用$this->widgets('CAcriveFrom',array(form属性))这个方法创建form表单,这个form表单默认提交的地方就是当前显示这个视图的controller和action,当让你也可以在array里面进行设定提交到别的表单里面去。如果是使用JS链接跳转或者ajax事件等,只需要指定对应的controller和action即可!