2012-01-30 6 views
5

Ho alcuni pacchetti che posso riutilizzare in diversi progetti o anche condividere con persone e voglio impacchettarli in modo distribuibile.Qual è il modo standard di impacchettare i pacchetti per la distribuzione in symfony2?

Qual è il modo migliore per impacchettarli per questo scopo?

Stavo anche pensando di distribuirlo con un'app di esempio, per far iniziare rapidamente le persone, esiste un modo più o meno standard per farlo?

+0

Hai letto http://symfony.com/doc/current/cookbook/bundles/best_practices.html? – Nanocom

+1

Controlla Composer, sarà il gestore delle dipendenze standard a partire da Symfony2 v2.1. Fondamentalmente, definisci le dipendenze per il tuo progetto in un singolo file json. Ogni dipendenza può avere anche le sue dipendenze, definite nel proprio file json. E poi basta installare tutto con un solo comando. – ChocoDeveloper

risposta

4

Controllare la voce di ricettario Bundle Structure and Best Practices. Inoltre puoi imparare guardando i pacchetti esistenti, che puoi trovare sul sito KnpBundles.

Fondamentalmente, le persone creano un nuovo progetto per ogni pacchetto in github. Quindi, non c'è nulla di speciale nella confezione .

+0

Immagino che la gente scarichi il mio progetto e copia e incolla il mio pacchetto nel loro progetto. Cosa succede se il mio progetto è più complesso, come avere ulteriori librerie esterne nella directory dei venditori e il mio bundle a seconda di loro? Come possono le persone dire che devono copiare più del semplice pacchetto? – Jens

+2

Per completezza: la documentazione dice solo "Un bundle non deve incorporare librerie PHP di terze parti. Dovrebbe invece basarsi sul caricamento automatico standard di Symfony2.", Quindi il repository dovrebbe contenere solo i file bundle, l'unico modo per aggiungere dipendenze è modificando il file deps nella tua app (è meglio documentare bene i requisiti del bundle!). Symfony 2.0 non ha alcun modo per gestire automaticamente le dipendenze nel pacchetto. In Symfony 2.1 questo è risolto da Composer (grazie a @ChocoDeveloper). – Jens

Problemi correlati