自从我开始编码以来,我一直在创建我的一组函数,我想在Zend Framework 1.12的整个项目中使用这些函数
我知道我可以放在库中创建的文件夹中,但我正在寻找一种不同的方式来使用我的函数
如果我把我的函数放在:
.../library/myfunctionsfolder/myfunctions.php
当我需要使用这个文件中的任何函数时,我必须在每个控制器中包含这个文件
然而,我正在寻找一种方法,我可以直接从任何控制器中的文件中调用函数,而不必包括该文件
例如:
my_function($some_var);
我应该把这个文件包括在Zend_Controller中吗?还是这个主意不好
我该怎么做
感谢您的帮助
就像我说的,以下几点对ZF1都有效:函数的自动加载器
如果你真的喜欢使用函数并想预加载它们,那么最好的地方就是Bootstrap.hp.
因此,在Application'Bootstrap.php
中,只需创建一个前缀为_init
:的新方法
protected function _initPreloading()
{
include LIBRARY_PATH."/myfunctionsfolder/myfunctions.php";
include LIBRARY_PATH."/myfunctionsfolder/myfunctions2.php";
}
/* For those who does not know how to address the library (in case you cannot use LIBRARY_PATH) You can use this:
include ( APPLICATION_PATH . '/../library/Customfunctions/functions.php'); */
为此,您需要在application.ini中使用以下2行:
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
更新:
为了使用LIBRARY_PATH
,我在index.php中包含了以下内容:
// Define path to library directory
defined('LIBRARY_PATH')
|| define('LIBRARY_PATH', realpath(dirname(__FILE__) . '/../library'));
关于引导的更多信息:引导
另一种方法是使用控制器插件进行条件预加载。如果您只需要控制器中的某些功能。
关于如何编写插件的更多信息:插件