douju2474 2014-08-14 05:41
浏览 26
已采纳

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

I have created custom PHP class that contains useful functions I need to use them in my zf2 project, and I want to be auto-loaded and to be used in all controllers and models (GLOBAL) is that possible? and how?
I did the following: /vendor/composer/autoload_namespaces.php

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

I call it in IndexController.php

use Libs\Myclass;

in My Custom class: /vendor/classes/lib/Libs/Myclass.php

namespace Libs;

class Myclass {
   --
}

is this right?? and is this global?

  • 写回答

1条回答 默认 最新

  • dongrui6787 2014-08-14 09:48
    关注

    Direct editing autoload_namespaces.php file is bad practice. You should add additional autoload configuration into composer.json file. For your case is:

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

    Nonetheless, if you intend to edit autoload_namespaces.php directly, then autoload of Libs namespace should be:

    'Libs' => array($vendorDir . '/classes/lib'),
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?