似乎这个线程上的大多数答案都不是“知道的”。我自己是 Composer 的新手,但这些答案具有误导性。这个问题可以简单地表述为:“我怎样才能开发一个作曲家包”。
是的,您可以使用自定义存储库或上传未完成的包并在每次更改后更新它。这既不是正确的解决方案,也不是问题的答案。
Composer's official documentation 没有提前说明这一点并没有帮助,但你可以看到Libraries documentation page 上的标题:
每个项目都是一个包
理解这一点非常重要
composer.json:
前面提到的页面继续说明:
为了使该软件包可安装,您需要为其命名。为此,您可以在 composer.json 中添加 name 属性
{
"name": "acme/hello-world",
"require": {
"monolog/monolog": "1.0.*"
}
}
到目前为止,在此示例中,我们有一个必需的包,现在还有一个名称。注意 vendor/name 格式。
现在自动加载我们自己的文件,这些文件记录在 Basic usage 页面上。
{
"autoload": {
"psr-4": {"Acme\\": "src/"}
}
}
这将自动加载src/Acme 目录下的命名空间类文件。
尽情享受吧。
安装/更新
使用命令安装或更新包:
composer update
或
php composer.phar update
这将下载所需的包并创建 autoload.php 文件
我们的项目结构应该类似于以下内容:
src
Acme
Foo.php
vendor
monolog
...
composer.json
包括
现在开始测试。
包括 autoload.php
require_once 'path/to/project/vendor/autoload.php';
假设 Foo.php 如下所示:
<?php
namespace Acme;
class Foo {
public static function bar(){
return 'baz';
}
}
?>
然后我们可以从我们的脚本中调用它:
echo Acme\Foo::bar(); // baz
请更正我可能陈述的任何误导性信息。这似乎是一个热门问题的解决方案。