繁体   English   中英

使用Composer进行PSR-4自动加载-找不到类

[英]PSR-4 autoloading with Composer - Class not found

我正在使用类型library创建composer包。 并尝试将其用于Symfony2项目。

该软件包具有以下composer.json

{
    "name": "vendor/package-sdk",
    "description": "My private package",
    "type": "library",
    "license": "MIT",
    "autoload": {
        "psr-4": {"Vendor\\PackageSDK\\": "src/"}
    },
    "require": {
        "php": ">=5.3.3"
    }
}

然后,将其用于我的SF2项目。

"repositories": [
    {
        "type": "git",
        "url": "git@github.com:me/vendor-package-sdk.git"
    },
],
"require": {
    ...
    "vendor/package-sdk": "~0.0.1-alpha1"
    ...
}

当我打电话时

use Vendor\PackageSDK\Client;

...

$client = new Client();

```

而且出现致命错误:

PHP Fatal error:  Class 'Vendor\PackageSDK\Client' not found in /path

如果我做

composer dump-autoload -o

它有效,但是

composer dump-autoload

不。

文件vendor / composer / autoload_psr4.php包含:

'Vendor\\PackageSDK\\' => array($vendorDir . '/vendor/package-sdk/src'),

有人可以告诉我我在做什么错吗?

在作曲家的autoload_classmap.php文件中,我看到了以下行

'Vendor \\ PackageSDK \\ Client'=> $ vendorDir。 '/ vendor / package-sdk / src / Cilent .php',

所以这只是包文件名中的错字

Cilent .php应该是Client .php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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