Birlikte geliştirdiğim birkaç kütüphanem [Foo ve Bar] var, ancak yine de teknik olarak ayrı şeyler. Önceden otomatik yükleyiciyi beğenmek için yeniden tanımlamıştım "Foo\\": "../Foo/src"
, ancak şimdi Foo'ya bir Guzzle bağımlılığı eklediğim için, Bar, bağımlılıklarından biri olmadığı için kapağını çeviriyor.
Dizin yapısı:
/home/user/src/
Foo/
src/
FooClient.php
composer.json
Bar/
src/
BarClient.php
composer.json
Teorik Otomatik Yükleme İfadesi: [Bar / composer.json dosyasında]
"require": {
"local": "../Foo/composer.json"
}
Örnek kod:
require('vendor/autoload.php');
$f = new \Bar\BarClient(new \Foo\FooClient());
Yerel bir Composer deposu kurmadan bunu nasıl çözebilirim? Bunları ayrı paketler olarak tutmak istiyorum, sadece biri diğerini gerektiriyor ve bu nedenle diğerinin bağımlılıklarını işler.
yanıt sonrası düzenleme:
İnfomaniac sayesinde şunları yaptım:
Git deposunu başlattı:
cd ~/src/Foo && git init && echo -e "vendor\ncomposer.lock" > .gitignore && git add ./ && git commit -m "Initial Commit"
Besteci yapılandırması eklendi:
"require": {
"sammitch/foo": "dev-master"
},
"repositories": [{
"type": "vcs",
"url": "/home/sammitch/src/Foo"
}],
Ve sonra composer update
!