自定义类自动加载和全局使用zf2

时间:2014-08-14 05:41:32

标签: php zend-framework2

我创建了自定义PHP类,其中包含我需要在zf2项目中使用它们的有用函数,我希望自动加载并在所有控制器和模型中使用(GLOBAL)可能吗?如何?
我做了以下事情: /vendor/composer/autoload_namespaces.php

return array(
    'Libs\\' => array($vendorDir . '/classes/lib'),
    'Zend\\' => array($vendorDir . '/zendframework/zendframework/library'),
    'ZendXml' => array($vendorDir . '/zendframework/zendxml/library'),

我在IndexController.php中调用它

use Libs\Myclass;
<我的自定义类中的

: /vendor/classes/lib/Libs/Myclass.php

namespace Libs;

class Myclass {
   --
}
这是对的吗?这是全球性的吗?

1 个答案:

答案 0 :(得分:1)

直接编辑autoload_namespaces.php文件是不好的做法。 您应该在composer.json文件中添加其他自动加载配置。 对于你的情况是:

"autoload": {
    "psr-0": {
        "Libs": "vendor/classes/lib/"
    }
}

尽管如此,如果您打算直接编辑autoload_namespaces.php,则Libs命名空间的自动加载应为:

'Libs' => array($vendorDir . '/classes/lib'),