- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
yii点滴
yii点滴
YII 点滴(更新中)
2010-08-02 09:14
一、从yii权威指中学到的
db组件 schemaCachingDuration=3600, 为什么不起做用?
需要开缓存
如何在页面下边显示sql的查询时间
在log组件的routes中加入
array(
class=CProfileLogRoute,
levels=error, warning,
)
同时在db组件中加入
enableProfiling=true,
同时在这种情况下,可以用CDbConnection::getStats() 查看执行了多少个语句,用了多少时间
如何知道某一个程序段运行需要的时间
配置好CProfileLogRoute后,在需要测试的地方加上
Yii::beginProfile(blockID);
//程序段
Yii::endProfile(blockID);
enableParamLogging=true,的作用是?
在日志的bind的参数后边跟数的值
如何在页面底部显示所有的db相关的日志
同上,配置log组件的routes中加入
array(
class=CWebLogRoute,
levels=trace, info, error, warning,
categories = system.db.*,
//showInFireBug = true, 将在firebug中显示日志
),
把日志记录到数据库
array(
class=CDbLogRoute,
logTableName=applog,
connectionID=db,
),
运行时表applog会自动生成,如果不能生成,参照api自已建立
如何记录$_GET,$_SESSION等信息,在以上的routes中各个配置中加上
filter=CLogFilter,
如何记录更详细的信息,能记录stack,在入口文件中加上
define(YII_TRACE_LEVEL,10);数字越大,记当的越详细,结果如下
[15:31:57.226][trace][system.db.CDbCommand] Querying SQL: SHOW COLUMNS FROM `Bangdan` in E:\APMServ5.2.6\www\htdocs\\protected\models\Bangdan.php (21) in E:\APMServ5.2.6\www\htdocs\\protected\components\HotBangdan.php (21) in E:\APMServ5.2.6
如果在调试时,终止程序运行且看到日志,不能用die及exit;
用application::end,即Yii::app()-end(),其会触发onEndRequest事件,日志就是在这个事件中记录的
activeRecord几个占位方法重写的注意点
必须带boolean返回值
如何发布一个资源文件并引用
$css=Yii::app()-getAssetManager()-publish(dirname(__FILE__)./aa.css);
yii::app()-clientScript-registerCssFIle($css);
如果改变activelable中默认的标题
重写方法attributeLabels
过滤不良代码
$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(); ?
如何防止重复提交?
提交后
Ccontroler-refresh();
如何在成功后显示一个提示,用户刷新页时去掉提示
Cwebuser-setFlash();
getFlash();
如何分页
CPagination代表分页信息,有多少页,每页几条记录等
CLinkPager生成分页的代码,自定义css可以给属性cssFile一个值
$criteria=new CDbCriteria();
$pages=new CPagination(数据库中的总记录数);
$pages-pageSize=2;
$pages-applyLimit($criteria);//给$criteria-limit offset等符值
$posts=Post::model()-findAll($criteria);
$this-widget(CLin
原创力文档


文档评论(0)