jia253 2015-05-21 16:23:59 7235次浏览 4条评论 3 4 0

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),
)); ?>
觉得很赞
您需要登录后才可以评论。登录 | 立即注册