现在的位置: 首页 > 综合 > 正文

Yii框架实现上的2个小技巧

2013年09月13日 ⁄ 综合 ⁄ 共 477字 ⁄ 字号 评论关闭

1. magic函数和配置项

在main.php中可以定义import,modules,components等配置项,这些配置项用来设置webapp的属性。

但是从app类代码里面是找不到这些属性的。这些属性是通过__set魔法函数以及调用set+$name的方法(如CModule类中的setComponents)来实现的。

2.预加载组件

在定义了compents后,你可能会想当然的认为他们被框架自动加载了。但实际情况并非如此简单。

比如你自定义了一个错误处理类MyErrHandler,里面定义了logErr方法。然后放在main.php components列表中,然后你在程序启动时试图使用yii::app()->getErrorHandler()->logErr()来处理错误。那你很可能会遇到错误:logErr未定义。

因为yii使用了延迟加载的策略。这里你能得到会是yii内置的CErrorHandler,而不是你设想中的MyErrHandler,MyErrHandler并没有被真正加载。

你需要把它放到preload中去才能够正确使用。

iefreer

抱歉!评论已关闭.