第九区

一个程序员的经验笔记

Zend framework 1.12 Bootstrap解析

| 暂无评论

Zend framework的application类构建bootstrap对象,并执行其run方法,zf1程序由此开始执行。
Zend_Bootstrap_Bootstrap派生自Zend_Application_Bootstrap_BootstrapAbstract,BootstrapAbstract里有如下方法:
1.__construct($application)
获取$application得到的网站设置参数,并调用setOptions方法进行设置
2.setOptions($options)
在这个方法中,用get_class_methods获取本类的所有方法,然后依次执行其中的每个set开头的方法,也就是说,可以扩展自定义任何方法比如setSomething,都会自动执行
3.getOptions()
返回设置参数
4.hasOption($key)
是否有此项参数
5.getOption($key)
获取某项参数的值
6. mergeOptions(array $array1, $array2 = null)
合并参数
7.getClassResources()
返回本类中所有_init开头的方法
8.registerPluginResource()
注册资源插件,该方法调用application/resource文件夹下的多个插件进行注册,如mail设定邮件系统的配置、log设定log记录的配置、db设定数据库的配置等等
9.unregisterPluginResource()
注销已经注册的资源
10.hasPluginResource($resource)
资源是否存在
11.getPluginResource($resource)
获取一个资源
12.setPluginLoader(Zend_Loader_PluginLoader_Interface $loader)
这里调用了一个zend_loder组件的接口。
13.getPluginLoader()
注册resource的自动加载路径
14.setApplication()
设置变量$this->_application为application对象
15.getApplication()
获得application
16.getEnvironment()
获得运行环境,如production和development
17. setContainer($container)
设置资源容器
18.getContainer()
获取资源容器
19.hasResource($name)
判断是否存在该资源
20.getResource($name)
获得该资源
21.__get($prop)
getResource方法的别名
22.__isset($prop)
hasResource()方法的别名
23.bootstrap()
执行$this->_bootstrap,该方法不能被子类覆盖
24.__call($method, $args)
执行$method方法,$method名称需以bootstrap开头
25._bootstrap($resource = null)
调用_executeResource方法
26._executeResource($resource)
运行一个资源
Zend_Bootstrap_Bootstrap基于这个抽象类派生,它扩展了如下方法:
1.__construct()
执行$this->resourceloader()方法
注册FrontController
2.run()
执行前端控制器–程序开始下一步运行
3.setResourceLoader(Zend_Loader_Autoloader_Resource $loader)
设置资源加载对象
4.getResourceLoader()
获取资源加载对象
5.getAppNamespace()
获取名字空间
6.setAppNamespace($value)
设置名字空间

发表评论

*为必填字段!