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'),
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何通过交互分析得出某高危患者对放疗获益更多
  • ¥15 相关性分析中,p<0.05, r=0.29,怎么评价相关性呢
  • ¥15 docker部署Mongodb后输入命令报错?
  • ¥15 将下列流程图转变成python程序代码
  • ¥15 我需要全国每个城市的最新小区名字等数据。
  • ¥15 开发一个小区生态的小程序
  • ¥15 如何解决Excel中dependent dropdown list 的问题
  • ¥15 MddBootstrapInitialize2失败
  • ¥15 LCD Flicker
  • ¥15 esp32在micropython环境下使用ssl/tls连接mqtt服务器出现以下报错Connected on 192.168.154.223发生意外错误: 5无法连接到 MQTT 代理,如何解决?