2012-01-30 14 views
5

Mam kilka pakietów, które mogę ponownie wykorzystać w różnych projektach, a nawet podzielić się nimi z ludźmi i chcę je spakować w sposób umożliwiający dystrybucję.Jaki jest standardowy sposób pakowania pakietów do dystrybucji w symfony2?

Jaki jest najlepszy sposób pakowania ich w tym celu?

Zastanawiam się również nad dystrybucją z przykładową aplikacją, aby szybko zacząć ludzi, czy istnieje mniej lub bardziej standardowy sposób na zrobienie tego?

+0

Czy znasz http://symfony.com/doc/current/cookbook/bundles/best_practices.html? – Nanocom

+1

Sprawdź Composer, będzie to standardowy menedżer zależności od Symfony2 v2.1. Zasadniczo definiujesz zależności dla twojego projektu w jednym pliku json. Każda zależność może mieć również swoje własne zależności zdefiniowane we własnym pliku json. A następnie wystarczy zainstalować wszystko za pomocą jednego polecenia. – ChocoDeveloper

Odpowiedz

4

Sprawdź wpis książki kucharskiej Bundle Structure and Best Practices. Możesz także dowiedzieć się, oglądając istniejące pakiety, które można znaleźć na stronie KnpBundles.

Zasadniczo ludzie tworzą nowy projekt dla każdego pakietu pod numerem github. Tak więc nie ma nic specjalnego w tych opakowaniach.

+0

Zgaduję, że ludzie mogliby pobrać mój projekt i skopiować i wkleić mój pakiet do swojego projektu. Co zrobić, jeśli mój projekt jest bardziej złożony, np. Mając dodatkowe biblioteki zewnętrzne w katalogu dostawców i mój pakiet w zależności od nich? Jak ludzie mogą powiedzieć, że muszą kopiować więcej niż tylko pakiet? – Jens

+2

Dla kompletności: dokumentacja mówi tylko "Pakiet nie musi zawierać bibliotek PHP innych firm, powinien opierać się na standardowym automatycznym ładowaniu Symfony2", więc repozytorium powinno zawierać tylko pliki pakunków, jedynym sposobem na dodanie zależności jest edytując plik deps w twojej aplikacji (lepiej udokumentuj swoje wymagania dotyczące pakietu!). Symfony 2.0 nie ma możliwości automatycznego obsługiwania zależności w pakiecie. W Symfony 2.1 jest to rozwiązane przez Composer (dzięki @ChocoDeveloper). – Jens

Powiązane problemy