将本地包添加到作曲家autoload.php

问题描述 投票:2回答:3

我正在开发一个我后来想上传到packagist的软件包。但就目前而言,我只想在本地开发它。但我无法找到一种方法让作曲家自动加载我的包而不在Packagist中。

目前我的项目结构如下所示:

www/
  index.php
  composer.json
  composer.lock
  vendor/
    autoload.php
    acme/
      http/
        composer.json
        src/
          Request.php

我手动将acme文件夹放在vendor文件夹中。我还在composer.json文件夹中添加了另一个acme/http,其中包含以下内容:

{
    "name": "Acme/Http",
    "authors": [{
            "name": "Acme"
        }],
    "require": {
        "php": ">=5.3.0"
    },
    "autoload": {
        "psr-4": {
            "Acme\\Http\\": "src/"
        }
    }
}

现在,我怎样才能将我的“本地”项目添加到作曲家autoload.php

php composer-php autoload
3个回答
1
投票

acme/http外面有vendor会更加清洁和清晰:

www/
  index.php
  composer.json
  composer.lock
  acme/
    http/
      composer.json
      src/
        Request.php
  vendor/
    autoload.php

然后在repositories上使用www/composer.json条目:

{
    "name": "foo/www",
    ...
    "require": {
        "acme/http": "*",
        ..
    },
    "repositories": [
        {
            "type": "path",
            "url": "./acme/http"
        }
    ]
}

0
投票

运行composer dump-autoload以更新自动加载器。

有关更多信息,请参阅:https://getcomposer.org/doc/03-cli.md#dump-autoload


-2
投票

将您的课程添加到vendor/composer/autoload_psr4.phpvendor/composer/autoload_classmap.php

© www.soinside.com 2019 - 2024. All rights reserved.