...問題にはなりません。
1. 私は最も正しい方法は、それをホストし、Satisを使ってプライベートの 'packagist'を作り出すことです。そして、コンポーザーは "正常に"動作し、最新のバージョンを取得し、バージョンチェックなどを行いますが、あなたはこれを気にしないと言います。
あなたは、私がこれを拡張することができ、より詳細が必要な場合、私は多くのサティスパッケージを設定していると、それは本当によく働きます。
2. あなたの 'imaqtpie'ライブラリが偽のベンダーライブラリである場合(あなたがそこに保存したファイルがあるように思えますあなたは昔ながらのライブラリが含まれるように?)、あなたは単にあなたのトップレベルのアプリケーションからそのフォルダにオートローダーを指すようにクラスマップを使用することができます。これは、最上位のアプリにそのフォルダを含める場合にのみ意味があります。
だからあなたのアプリの作曲のJSONは次のようになります。
{
"require": {
"filp/whoops": "1.*"
},
"autoload": {
"classmap":[
"vendor/imaqtpie/framework/src"
]
}
}
だから、これはクラスの束がそのフォルダにあります作曲を伝えます。あなたがcomposer dump-autoload
を実行すると、それはフォルダをスキャンし、リストされたすべてのファイルとvendor/composer/autoload_classmap.php
を生成します。
これはあなたが作曲家を使うべき方法ではありませんが、あなたが作曲家のオートローダーの使い方を尋ねているパッケージ管理用の作曲家を使用するよう求めているわけではありません。あなたがリスクを理解している限り。再び
{
"require": {
"filp/whoops": "1.*"
},
"autoload": {
"psr-4":{
"Imaqtpie\\Framework\\":"vendor/imaqtpie/framework/src"
]
}
}
:
3. あなたのパッケージがPSR0または4のいずれかである場合
は、あなたが同様にあなたのトップレベルのアプリでこれを行うだろう(それは「SRC」フォルダからそう聞こえます)少し奇妙ですが、うまくいくはずです!
通常は、あなたのパッケージの composer.jsonでこのパスを指定するだろうし、アップデートを行うときに、それはあなたのcomposer.lock
にマージ取得し、vendor/composer/installed.json
(ダンプ自動ロードするために使用するソースです)。しかし理論的には、トップレベルのアプリケーションから必要なものを読み込むことができるので、パッケージをベンダーのライブラリとクラスパスに「ハードコード」することができます。
ではなく、とお勧めします。ベンダーのフォルダは、ほとんどの人やプログラムが気まぐれに破壊して再構築できると考えられる、貧弱な場所です。だからパッケージに入っていないものを保管するのは危険な場所です。同じことを想定する他の開発者にとっても混乱します。
ライブラリをベンダーのフォルダから離れた別の場所に移動することをおすすめします。 'lib'を作成し、上のクラスパスの手法を使ってそれをオートローダーに組み込みます。
これは正解です。あなたは 'vendor'フォルダをバージョン管理するべきではありません。したがって、ベンダーフォルダに追加したいコードをリポジトリで作って作者に追加するのが最善です。 –