Yii技巧大全(摘录)
10余年的宁明网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整宁明建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“宁明网站设计”,“宁明网站推广”以来,每个客户项目都认真落实执行。>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\',
log配置中的level设置不对,可能会得不到日志信息
另外level,category的值可以随便写,
只要在用yii::Log("","自定义level","自定义的category")时对应起来即可
如何记录更详细的信息,能记录stack,在入口文件中加上
define(\'YII_TRACE_LEVEL\',10);数字越大,记当的越详细,结果如下
[15:31:57.226][trace][system.db.CDbCommand]QueryingSQL:SHOWCOLUMNSFROM`Bangdan`inE:APMServ5.2.6wwwhtdocsdayouhui.comprotectedmodelsBangdan.php(21)
inE:APMServ5.2.6wwwhtdocsdayouhui.comprotectedcomponentsHotBangdan.php(21)inE: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=newCHtmlPurifier;
$purifier->options=array("HTML.Allowed"=>"div");
$content=$purifier->purify($content);
或者
shouye\',
\'separator\'=>\'>>>\'
));?>
其中breadcrumbs中Controller中的一个属性,如果要出现导航,就要在view中给此属性附值
生成的html如下
验证码如何生成及验证:
Controller中
publicfunctionactions()
{
returnarray(
\'captcha\'=>array(
\'class\'=>\'CCaptchaAction\',
\'backColor\'=>0xFFFFFF,
\'maxLength\'=>4,
\'minLength\'=>4,
),
);
}
View中
本文标题:Yii技巧大全(摘录)
链接URL:http://ybzwz.com/article/cpepji.html