让Zend框架自己加载自定义的类
2010年4月6日
在用Zend框架编写Web程序的过程中,我们有时候需要让框架自动加载我们自己编写的一些工具类代码。我们都知道,Zend框架对以Zend_为前缘的类会自动加载的。知道这个原理后,对于我们自己的类让框架去自动加载,那么有两种方法:
让我们自己的类也以Zend_为前缀,并将类文件放到library/Zend目录下
这个方法是可行的。但一个缺点是,对于会让多个Web项目引用的类库来说,大家都向Zend目录放自定义的类文件是不合适的。对于一些多个项目都需要,即是非常共有的类文件,这样做一般是比较合适的,可以节约空间,也可以减少其它项目的开发时间。
通过配置入口文件,让Zend框架自己加载我们的类文件
这个方法需要对入口文件,即index.php文件做一些修改,这样框架就会自动加载我们的类。这个方法对只有本项目才会用到的类比较适用。
首先创建一个include目录,和application目录(此目录包含controller、model等二级目录)同级,include目录用来放置我们在项目中需要的自定义类。然后修改入口文件index.php:
//此代码添加到包含library库路径的代码下面。这个代码向包含路径中添加我们的include目录路径 set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../include'), get_include_path(), ))); //中间的其它代码 //然后在$application->bootstrap()->run();代码的上面添加如下代码 Zend_Loader_AutoLoader::getInstance()->setFallbackAutoLoader(true); $application->bootstrap() ->run(); |
这样就完成了index.php文件对自定义类加载的修改。以后项目中的工具类、自定义的特殊类等等就可以放到include目录,在controller文件及model文件中就可以自动加载并使用了。
原创文章如转载,请注明:转载自张文杰的博客 [ http://zhangwenjie.net ]
本文链接地址:http://zhangwenjie.net/archives/352.html