Startując nowy projekt, postanowiliśmy użyć własnego bundla, którego chcieliśmy umieścić w vendorach. Jedynym minusem było to, że nie chcieliśmy naszego bundla dodawać do packagista. I tu zaczęły pojawiać się problemy. Pierwszym problemem było poinformowanie composera, skąd ma pobierać naszego bundla. Z pomocą przychodzi następujący wpis:
"repositories": [{"type": "package", "package": { "name": "nazwa/naszego-bundle", "version": "dev-master", "source": { "url": "adres/naszego-bundle.git", "type": "git", "reference": "master" }, "target-dir" : "Target/DirNaszegoBundle" } }]
No dobra, gdy w “require” podamy naszego bundla zostanie on ściągnięty. Ale, czy to już wystarczy aby działał? No niestety, composer w takim przypadku nie wygeneruje nam danych do autoload, przez co nasz bundle nie będzie widoczny w aplikacji. Co zrobić w takiej sytuacji? Wystarczy dodać go w pliku composer.json do “autoload”. Wygląda to tak:
"autoload": { "psr-0": { "": "src/", "Nazwa": "vendor/lokalizacjaDoKtórejŚciągnęliśmyBundle" } }
I voilà. Nasz bundle już jest widoczny w aplikacji i spokojnie możemy go zarejestrować w AppKernel.
Pozdrawiam.