所以我知道,在Zend框架中,如果您的函数名称遵循某些路径约定,例如。Path_To_Function::function()当函数位于path/to/function(或类似的位置)时,ZF将自动在该位置包含所需的文件
但那不是我做....我所做的就是把所有我想包含的地方放入php include_path然后只需要文件,然后调用函数
像下面的
require_once('Class.php');
Class::something();
其中Class.php位于include_path
下的目录中但是这是多余的,因为我已经在静态函数调用Class::something()
中指定了类名,实际上我所有的函数都是静态的…
是否有办法配置/hack zend,以便如果我进行静态调用:
SomeClass::dosomething();
它将自动执行require_once('SomeClass.php')
基于静态调用的类名?
把这个放到你的Bootstrap
类
protected function _initAutoloader()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
return $autoloader;
}
看到http://framework.zend.com/manual/en/zend.loader.autoloader.html zend.loader.autoloader.usage
实际上,您应该为类设置命名空间,因为这不仅使自动加载更容易,而且可以防止可能的冲突,例如
// library/My/Class.php
class My_Class { // ...
// library/My/SomeClass.php
class My_SomeClass { // ...
那么你只需要将命名空间前缀添加到应用程序配置中的自动加载器
autoloadernamespaces.My = "My_"