我在应用程序中使用 Zend Framework 1.11。我正在尝试实施手册建议的性能升级,以消除不必要的 require_once() 语句并完全自动加载。这在正常应用程序中工作正常。
我还有一个 CLI 接口,我为守护进程编写了代码(通过 Bootstrap.php 中的自定义路由器),它似乎不想与我的更改配合得很好。它与我设置的包含路径有关,该路径当前在我的 index.php ZF 入口点中配置:
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library/'),
get_include_path(),
)));
库文件夹的布局如下:
- library
-Zend
-Acl
-Amf
... etc, Zend Framework files
-Custom
-Api
-Twitter
... etc, My Custom library files
通过 CLI 运行应用程序时,它无法在这些目录或子目录中找到任何文件。所以我改变了我的包含路径看起来像:
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library/'),
realpath(APPLICATION_PATH . '/../library/Custom/Twitter/'),
get_include_path(),
)));
然后它能够找到我需要的文件。
TL;博士; 我在这些库中有很多文件,如果我必须手动将每个文件夹放入包含路径,我可能从自动加载中获得的任何性能提升都会消失。有没有更好的办法?
PS 一时兴起,我也尝试了/../library/*之类的路径,但这也不起作用。