我现在正在开发一个不基于Zend Framework的项目,但是我想在其中使用Zend的一些组件,即Zend_Form和Zend_Acl .
问题是,我应该怎么做才能使这些组件在实例化时正确加载它们的类 .
我想应该使用spl_register_autoload和set_include_path,只是无法弄清楚究竟是怎么回事 .
多谢你们,
Zend_Loader_Autoloader :: getInstance()加上set_include_path中设置正确的初始路径就行了 .
如果它只是您想要使用的两个Zend Framework组件,则可以手动包含它们 . 当我需要一些Zend Framework组件时,我通常做的是加载via autoloader .
您可以在SO上找到有关如何使用Zend Framework自动加载器的几个问题和答案,例如this .
如果您不想使用Zend_Load_Autoloader :: getInstance()让Zend使用spl_register_autoload()注册其自动加载器,您只需要将包含Zend文件夹的文件夹放在您的文件夹上 .
例如,如果您的Zend组件位于“library / Zend”中,则必须在路径上放置“libray”,而不是Zend . 然后你可以包含像“Zend / Validate / Interface.php”这样的文件,因为它们在你的路径上 .
如果我理解正确,您希望在多个项目中使用Zend Framework的一个副本 . 为此,只需在application / configs / application.ini文件中编辑includePaths.library即可 .
3 回答
如果它只是您想要使用的两个Zend Framework组件,则可以手动包含它们 . 当我需要一些Zend Framework组件时,我通常做的是加载via autoloader .
您可以在SO上找到有关如何使用Zend Framework自动加载器的几个问题和答案,例如this .
如果您不想使用Zend_Load_Autoloader :: getInstance()让Zend使用spl_register_autoload()注册其自动加载器,您只需要将包含Zend文件夹的文件夹放在您的文件夹上 .
例如,如果您的Zend组件位于“library / Zend”中,则必须在路径上放置“libray”,而不是Zend . 然后你可以包含像“Zend / Validate / Interface.php”这样的文件,因为它们在你的路径上 .
如果我理解正确,您希望在多个项目中使用Zend Framework的一个副本 . 为此,只需在application / configs / application.ini文件中编辑includePaths.library即可 .