/ / Como escrever symfony2 efetivo - git, symfony, bundle, composer-php, php-5.5

Como escrever symfony2 efetivo - git, symfony, bundle, composer-php, php-5.5

Eu escrevi alguns pacotes do Symfony2 e tudo bem,mas ... eu não gosto do jeito que eu fiz. Primeiro, crie um novo projeto symfony, e eu gero o pacote Company / Mybundle (todos eles estão sob controle da versão git) .Mas, quando eu tiver terminado com eles (alguns bundle), eu crio um novo repositório do github - Company / MyBundle, e os carrego no packagist.org. Outra idéia "maior", foi criar 2 diferentes repositórios git - um para o projeto symfony2 e um para o pacote, e quando escrever algo no pacote git - deve fazer a atualização do compositor no symfony2, mas não posso testar localmente, e isso é um problema .

Problema comum aqui, como obter uma nova cópia dos pacotes. Ou, como ter um (repositório principal, projeto Symfony), com um sub git (repositório de pacotes).

Como fazes isso? E qual é a "melhor prática" para isso?

Edit: Agora, meus pacotes do symfony se parecem com isso

app
src
`- vendor
`- bundle1 - **git repository1**
`- bundle2 - **git repository2**
web

Tudo bem, mas eu quero todo projeto tem um repositório git, talvez isso é estranho (eu não posso imaginar por enquanto), mas eu também quero controle de versão de configuração, parâmetros, etc também.

Respostas:

0 para resposta № 1

Sua pergunta é mais relacionada ao GIT do que ao Symfony.

Eu sugiro que você confira o GIT Submodulese: http://www.git-scm.com/book/en/v2/Git-Tools-Submodules


0 para resposta № 2

apenas deixe seu pacote em src/, se você precisar em outro projeto, inclua via compositor. se vocês –prefer-source você terá o representante git completo em seu fornecedor e poderá simplesmente confirmar / enviar se fizer alterações.

Se você usou o hook no github, o packagist irá atualizar automaticamente, então da próxima vez que você fizer a atualização do composer, ele irá atualizar para a versão mais recente para você.

O próximo passo é usar tags git, então você não quebrará versões mais antigas do seu pacote quando fizer grandes mudanças no seu projeto atual.