位置: 编程技术 - 正文
推荐整理分享PHP的Yii框架中YiiBase入口类的扩展写法示例(php各个框架的优缺点),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php常用框架有哪些,php框架symfony,php框架symfony,php各大框架以及实现原理,php yii框架,php框架symfony,php框架ci,php框架symfony,内容如对您有帮助,希望把文章链接给更多的朋友!
通过yiic.php自动创建一个应用后,入口文件初始代码如下:
其中第三行引入了一个yii.php的文件,这个可以在yii核心目录里的framework/下找到,这个文件中定义了一个Yii类,并且继承了YiiBase类。
代码如下
而
这个方法实际上是在YiiBase父类中定义的,所以,Yii为我们预留了扩展的可能。我们只需要在yii.php中添加我们想要扩展的方法即可,在项目中直接使用 Yii::方法名() 调用。 为了将项目代码和核心目录完全分离,我个人觉得在项目目录下使用另外一个yii.php来替代从核心目录中包含yii.php更加好。
这里我用了更加极端的方法,我直接将yii这个类定义在了入口文件,并扩展了一个全局工厂函数 instance()方法,请看代码:
这个类是在最后一行Yii::createWebApplication()之前定义的,以保证Yii类能正常使用(不要把这个类放在文件末尾,会出错。)
在项目中任何地方,使用$obj = Yii::instance($alias);去实例化一个类,并且是单例模式。
YiiBase中的两个比较重要的方法 (import,autoload)然后看看YiiBase中的import方法就知道这些静态变量是干嘛用的了:
是的,上面这个方法最后就把要加载的东西都放到$_imports,$_includePaths中去了。这就是Yii的import方法,好的,接下来我们看看autoload方法:
return class_exists($className, false) || interface_exists($className, false); } return true;}config文件中的 import 项里的类或路径在脚本启动中会被自动导入。用户应用里个别类需要引入的类可以在类定义前加入 Yii::import() 语句。
简要剖析PHP的Yii框架的组件化机制的基本知识 组件是Yii应用的主要基石。是yiibaseComponent类或其子类的实例。三个用以区分它和其它类的主要功能有:属性(Property)事件(Event)行为(Behavior)或
解析PHP的Yii框架中cookie和session功能的相关操作 Sessions和请求和响应类似,默认可通过为yiiwebSession实例的session应用组件来访问sessions。开启和关闭Sessions可使用以下代码来开启和关闭session。$session=Yii
实例讲解如何在PHP的Yii框架中进行错误和异常处理 Yii已经默认已经在CApplication上实现了异常和错误的接管,这是通过php的set_exception_handler,set_error_handler实现的。通过这两个PHP内置函数,可以对程序中未
标签: php各个框架的优缺点
本文链接地址:https://www.jiuchutong.com/biancheng/292464.html 转载请保留说明!友情链接: 武汉网站建设