このスレッドのほとんどの回答は「知っている」ものではないようです。私自身 Composer は初めてですが、これらの回答は誤解を招くものです。質問は、「composer パッケージを開発するにはどうすればよいですか」と簡単に言えます。
はい、カスタム リポジトリを使用するか、未完成のパッケージをアップロードして、変更のたびに更新することができます。それは正しい解決策でも、質問に対する答えでもありません。
Composer の公式ドキュメントがこれを前もって述べていないことは役に立ちませんが、 Libraries ドキュメント ページの見出しを見ることができます。
すべてのプロジェクトはパッケージです
これを理解することは非常に重要です
composer.json:
前述のページには、次のように記載されています。
そのパッケージをインストール可能にするには、名前を付ける必要があります。これを行うには、name プロパティをcomposer.json
{
"name": "acme/hello-world",
"require": {
"monolog/monolog": "1.0.*"
}
}
ここまでの例では、必要なパッケージがあり、名前があります。vendor/name
形式に注意してください。
それでは、基本的な使用法ページに記載されている独自のファイルを自動ロードします。
{
"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
私が述べたかもしれない誤解を招く情報を修正してください。これは、よくある質問に対する解決策と思われるものです。