2013-02-27 9 views

Odpowiedz

5

Zend Framework 2 Project jest zwykle lekką aplikacją szkieletową z różnymi zainstalowanymi modułami, które zwykle znajdują się w oddzielnych dedykowanych repozytoriach.

Na główne repozytorium zwykle nie ma wpływu wiele zmian, więc można utworzyć dla niego repozytorium git (widelec ZendSkeletonApplication). Podczas gdy moduły są bardziej odpowiednie i wymagają pewnej opieki, aplikacja szkieletu zmienia się zwykle tylko w kilku szczegółach w ciągu miesięcy.

mogę zaproponować następujące podejście:

  1. tworzyć swoje pierwsze wersje modułów aplikacji specyficznych jak git submodules w katalogu swojej aplikacji szkielet widelcem modules/.
  2. pracować na modułach w sugerowany sposób, po prostu wykonując powrót do oryginalnych repozytoriów i aktualizując referencje modułu git w repozytorium głównym.
  3. Gdy masz dość dobrze działającą wersję (i masz pewną pewność w stosunku do composer i ogólnie zf2), możesz przekonwertować je na pakiety kompozytora, dodając plik composer.json.
  4. Zamiast tego należy usunąć moduł podrzędny przekonwertowanego modułu zf2 i use composer to import it. Aby to zrobić, musisz po prostu powiedzieć kompozytorowi, gdzie znajduje się repozytorium. Spowoduje to, że moduł będzie można zainstalować w ciągu kilku sekund w dowolnej aplikacji, co pomoże w ponownym użyciu istniejących komponentów. Ponowne używanie kodu, który napisałeś dla różnych projektów, staje się od teraz bardzo łatwe.
  5. tag i stopniowo stabilizować zależności i wersje swoich pakietów (ponieważ zaczniesz mieć własną private composer packages ecosystem)

To jak ja osobiście zrobić, a okazało się bardzo ładnym procesie rozwoju. Za każdym razem, gdy funkcja jest udostępniana, po prostu przenoszę ją do nowego pakietu i aktualizuję composer.json w modułach. Satis zajmuje się resztą, a wszystkie nasze systemy live są bardzo szybkie do uaktualnienia.

Możesz przeczytać więcej advanced techniques and tips and tricks about composer po zapoznaniu się z nim.

+0

Dziękuję za odpowiedź! W jaki sposób dołączyć [projekt folderu] (https://github.com/zendframework/zf2) do projektu? Obecnie jest to tylko podfolder w moim projekcie-repo. Czy to powinien być submoduł? – automatix

+0

@automatix framework jest również instalowany przez kompozytora. Jeśli sklonowałeś aplikację szkieletową, to tylko kwestia uruchomienia 'php composer.phar install' :) – Ocramius

+0

Hm ... Masz rację. :) Ostatnie pytanie do tego toptic: Jeśli dodamy kolejną bibliotekę (do '/ vendor /'), to można nią zarządzać również za pomocą kompozytora, prawda? Czy istnieją inne możliwości zarządzania bibliotekami? – automatix