zf2 加载自定义命名空间

来源:互联网 发布:csgo蝴蝶刀淘宝 编辑:程序博客网 时间:2024/05/17 08:59

当需要在控制器重加载自定义的命名空间需要 Zend\Loader\StandardAutoloader 去注册命名空间对应的目录。

比如结构如下

zf2

-----config

-----core(自定义命名空间Core所在的目录)

-----module

-----public

-----略


可以在index.php  定义一个常量

defined("CORE", 'core');后面core指定到core目录


再在init_autoloader.php文件中注册命名空间:

if (CORE) {//加载自定义核心基类    Zend\Loader\AutoloaderFactory::factory(array(     'Zend\Loader\StandardAutoloader' => array(            'namespaces' => array('Core'=>CORE)      )    ));}

以后在Core下定义的类就可以在通过Core\classname.php来调用了


----------以上是非composer 调用方式,下面是composer方式调用-------------

vendor/composer目录下面有个autoload_namespaces.php的文件,这里可以定义你要加载的第三方命名空间

<?php// autoload_namespaces.php generated by Composer$vendorDir = dirname(__DIR__);$baseDir = dirname($vendorDir);return array(    'Zend\\' => $vendorDir . '/zendframework/zendframework/library/',    'ZendTest\\' => $vendorDir . '/zendframework/zendframework/tests/',    'Core\\'=> $baseDir.'/',);

注意:值为命名空间的上一级目录

原创粉丝点击