您的位置:首页 > 编程语言 > PHP开发

yii 使用小技巧

2015-07-11 10:54 706 查看
​1.db组件
'schemaCachingDuration'=>3600
,为什么不起做用?需要开缓存

2.如何在页面下边显示sql的查询时间,在log组件的routes中加入

array(
'class'=>'CProfileLogRoute',
'levels'=>'error,warning',)

同时在db组件中加入
'enableProfiling'=>true,

同时在这种情况下,可以用
CDbConnection::getStats()
查看执行了多少个语句,用了多少时间

3.如何知道某一个程序段运行需要的时间

配置好CProfileLogRoute后,在需要测试的地方加上

Yii::beginProfile('blockID');//程序段Yii::endProfile('lockID');

4.过滤不良代码

$purifier=newCHtmlPurifier;$purifier->options=array("HTML.Allowed"=>"div");$content=$purifier->purify($content);

或者

<?php$this->beginWidget('CHtmlPurifier');?>…displayuser-enteredcontenthere…<?php$this->endWidget();?>

5.如何防止重复提交?

在controller里写
$this->refresh


6.列表如何排序

$criteria=newCDbCriteria();$sort=newCSort('Post');$sort->defaultOrder="statusasc";$sort->applyOrder($criteria);$posts=Post::model()->findAll($criteria);

应用时用

$sort->link('字段名')//实际是生成一个带参数的url,然后在在applyOrder时应用这些参数修改$criteria,得到相应的查寻结果`

7.如何让表单验证不过的提示为中文
在main.php里配置

'language'=>'zh_CN',

8.如何实现仿google的自动完成功能

<?php$this->widget('CAutoComplete',array(
'name'=>'xxx',
'url'=>array('suggestTags'),
'multiple'=>false,
'htmlOptions'=>array(‘size’=>50),));?>


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: