在Zend Framework(1.11)的当前稳定版本中是否可以使用
PHP命名空间处理应用程序类?
Application\Form\Abc instead of Application_Form_Abc Application\Model\Xyz instead of Application_Model_Xyz etc.
从v1.10开始,ZF支持autoloading namespaces,并且在包含命名空间的库时工作正常,但是当尝试使用应用程序类做同样的工作时,它是不成功的.
其实有一个简单的解决方法
suggested by Dmitry on the ZF issue tracker:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoloader() { $loader = function($className) { $className = str_replace('\\','_',$className); Zend_Loader_Autoloader::autoload($className); }; $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->pushAutoloader($loader,'Application\\'); } }
像我的魅力一样工作!