Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 作曲家+;Laravel 4.2-无法生成PSR-0自动加载器_Php_Laravel_Composer Php_Autoload - Fatal编程技术网

Php 作曲家+;Laravel 4.2-无法生成PSR-0自动加载器

Php 作曲家+;Laravel 4.2-无法生成PSR-0自动加载器,php,laravel,composer-php,autoload,Php,Laravel,Composer Php,Autoload,我要做的是:设置PSR-0自动加载,但composer正在生成一个PSR-4自动加载文件 我正在使用: "autoload": { "classmap": [ "app/commands", "app/controllers", "app/models", "app/database/migrations", "app/database/seeds",

我要做的是:设置PSR-0自动加载,但composer正在生成一个PSR-4自动加载文件

我正在使用:

    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php",
            "app/libraries"
        ],
        "files": [
        "app/libraries/custom_helpers.php"
        ],
        "psr-0":{
            "MyApp":"app/"
        }
    }

//rest of the file is omitted
1) 拉威尔4.2

2) 作曲家版本e77435cd0c984e2031d915a6b42648e7b284dd5c 2014-07-02 15:44:54

My composer.json:

    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php",
            "app/libraries"
        ],
        "files": [
        "app/libraries/custom_helpers.php"
        ],
        "psr-0":{
            "MyApp":"app/"
        }
    }

//rest of the file is omitted
在此之后,如果我在终端中运行
composer dump autoload
,它将在

vendor/composer名为autoload_psr0.php的目录

相反,它会生成一个autoload_psr4.php,如下所示:

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
);
从composer文档中,我了解到仍然支持psr-0


这可能是因为Monolog包需要PSR-4名称空间吗

看来laravel实际上并没有为psr0标准创建单独的配置。 事实上,默认情况下,它有一个自动加载的_real.php文件,该文件引用一个ClassLoader类并检查psr-0。
这些文件可以在vendor/composer目录中找到

您的名称空间MyApp必须根据指定的名称在末尾指定两个斜杠。我不确定这是否是问题所在。谢谢你指出这一点。但这似乎不是错误。