简体   繁体   中英

Custom class Autoloading and global use 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?

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'),

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM