我在ZF 1.10应用程序中有一个包含自定义类的文件夹.该文件夹位于/ library中.我如何告诉ZF他们在哪里?application.ini和index.php都设置了库的路径,但ZF无法找到文件.
谢谢
我们经常遇到编写自己的自定义函数或类以及放置它们的位置的问题.
因此,要添加自定义类(或自定义库),可以使用zend框架的自动加载器命名空间.
在application.ini文件中添加以下行
autoloaderNamespaces.custom = "Custom_"
要么
autoloaderNamespaces[] = "Custom_"
所有自定义类都将保存在库目录下.在库目录中创建文件夹名称"Custom"(在application.ini中定义).
类将在文件中的声明处以"Custom_"为前缀(例如Custom_Test)
现在我们可以$test = new Custom_Test()
在我们的应用程序中使用此类.
有许多可能的解决方案.使用Zend Application时最常见的是application.ini
通过添加以下内容来注册命名空间:
autoloaderNamespaces[] = "Example_"
其他方案:
您dir添加到include_path
使用set_include_path()
(临时解决方案)
遵循PEAR命名约定(因此可以解析路径)
在Bootstrap.php
以下位置设置自动加载器:
protected function _initAutoloader() { $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->registerNamespace("Example"); // or Example_ }
最后,设置模块或资源自动加载器,例如.
$resourceLoader->addResourceTypes(array( 'acl' => array( 'path' => 'acls/', 'namespace' => 'Acl', ), 'example' => array( 'path' => 'examples/', 'namespace' => 'Example', ), ));