【问题标题】:Laravel vendor autoloading doesn't workLaravel 供应商自动加载不起作用
【发布时间】:2016-02-08 10:48:38
【问题描述】:

目前,我是包开发的新手,很难创建新包。至此,我想制作一个新包,但自动加载(PSR-4 和类映射)似乎不起作用。我得到类未找到异常。我试图到处寻找我的问题的答案,但仍然没有找到任何帮助。

这是我的 composer.json 文件:

 {
  "name": "imamassi/tree",
  "description": "Tree generator from an array/object with parent id",
  "license": "MIT",
  "authors": [
    {
      "name": "Imam Assidiqqi",
      "email": "assidiqqi.imam@gmail.com"
    }
  ],
  "minimum-stability": "dev",
  "require": {},
  "autoload":{
    "psr-4":{
      "Imamassi\\": "src/"
    },
    "classmap":["src/"]
  }
}

我的包目录:

我已经花了几个小时才弄清楚如何完成这项工作,希望我能在这里找到答案:)

注意:我已经做了几次dump-autoload,仍然无法完成这项工作。

【问题讨论】:

    标签: laravel-5 package composer-php


    【解决方案1】:

    自动加载路径必须指向使用命名空间的确切目录。

    这意味着你的composer.json:

    "autoload": {
        "psr-4": {
            "Imamassi\\": "src/Imamassi"
        }
    } 
    

    更改主composer.json的自动加载部分后,不要忘记通过以下方式重建自动加载缓存:

    composer dump-autoload
    

    【讨论】:

    • 但我想加载 Tree.php (src/tree.php) 文件
    • 这将加载该目录中具有此命名空间的每个类。
    猜你喜欢
    • 2018-02-13
    • 2011-06-15
    • 2023-03-19
    • 2018-11-27
    • 2015-11-20
    • 2019-02-11
    • 2019-07-17
    • 2015-03-28
    • 2017-12-28
    相关资源
    最近更新 更多