1

当我composer dump-autoload. 这是我的作曲家,条目是 src/Booksmart :

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php",
        "app/controllers/Api",
    ]
},
"psr-4": {
    "Booksmart\\": "src/Booksmart"
},

这是我的目录结构:

src/
    Booksmart/
        Advance/
            Advance.php

Advance.php 看起来像这样:

<?php
namespace Booksmart\Advance

class Advance
{

}

Myvendor/composer/autoload_psr4.php没有显示我的 Booksmart 命名空间的新条目,并且绝对没有加载 Advance.php 类。这似乎很容易搞砸,我错过了什么?

4

2 回答 2

3

PSR-4 必须在自动加载中:

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php",
        "app/controllers/Api",
    ],

    "psr-4": {
        "Booksmart\\": "src/Booksmart"
    },

},
于 2014-08-29T01:05:41.137 回答
1

我觉得你不需要作曲。就我而言,我在“Advance”类中支付这样的命名空间。例如namespace App\src\Bookmart\Advance。然后在依赖类use App\src\Bookmart\Advance;中。

于 2017-08-26T08:26:29.510 回答