yii使用小技巧 [ 1.1 版本 ]
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=new CHtmlPurifier;
$purifier->options=array("HTML.Allowed" => "div");
$content=$purifier->purify($content);
或者
<?php $this->beginWidget('CHtmlPurifier'); ?>
…display user-entered content here…
<?php $this->endWidget(); ?>
5.如何防止重复提交?
在controller里写 $this->refresh
6.列表如何排序
$criteria=new CDbCriteria();
$sort = new CSort('Post');
$sort->defaultOrder = "status asc";
$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),
)); ?>
jia253 北京-昌平
注册时间:2014-08-18
最后登录:2023-10-24
在线时长:288小时54分
最后登录:2023-10-24
在线时长:288小时54分
- 粉丝34
- 金钱4448
- 威望20
- 积分7528
共 4 条评论
布得一手好局,感谢分享。
我是来看评论的
在main.php里面怎么配置的。跟config文件一样,return['language' => 'zh_CN',]这样写么。
mark。