2012-04-10 7 views
6

A volte ci sono alcune funzioni o procedure che scrivo come helper e utilità da usare in tutte le mie app ... Ora sto iniziando a usare Symfony 2, e non lo uso so qual è il modo migliore secondo la filosofia di symfony 2 di Bundles ... Non vorrei creare un intero bundle solo per memorizzare un paio di funzioni, ma se è il modo migliore che farò esso. Grazie!Symfonian modo di memorizzare utility e helper personalizzati in symfony 2

risposta

8

Se i vostri programmi di utilità e aiutanti non sono Symfony specifici, creare una libreria in un repo separato e installarlo ai fornitori utilizzando il deps con il comando bin/vendors install o tramite Composer, che diventerà il modo di default di gestione fornitori dal Symfony 2.1.

Se si desidera che la libreria si integri perfettamente con Symfony, creare un pacchetto in un altro repository separato e installarlo nei fornitori. In questo modo la tua libreria può essere utilizzata al di fuori dei progetti Symfony, ma fornisce alcune comodità quando viene utilizzata in Symfony.

Vedere anche un po 'related question.

+0

Quindi, dovrei creare un pacchetto in ogni caso, ma dovrei installarlo nella cartella dei venditori come qualsiasi pacchetto di terze parti che installo nel mio progetto? ho ragione? questo nuovo modo di strutturare i progetti sembra davvero buono, ma anche un po 'complicato ... Non ho alcuna familiarità con Composer ... Hai qualche documentazione su come usare Composer con symfony? Come dovrei organizzare la struttura delle directory in questo nuovo bundle lato fornitore? Scusa, sto iniziando con symfony 2 ... grazie mille !!! – Throoze

+1

Il compositore è semplice. Hai solo bisogno di creare un file 'composer.json' dove dichiari dipendenze e informazioni sul progetto. Vedi [Guida introduttiva] (http://getcomposer.org/doc/00-intro.md), [Uso di base] (http://getcomposer.org/doc/01-basic-usage.md) e questo [esempio ] (https://github.com/noiselabs/SmartyBundle/blob/master/composer.json) (notare la dipendenza da 'symfony/framework-bundle'). – noisebleed

+0

Se il bundle deve essere riutilizzato in più progetti, allora sì, lo si installa come qualsiasi altro pacchetto di terze parti. Il modo migliore per imparare a creare i tuoi bundle è quello di ottenere una certa teoria dai documenti di Symfony e poi esaminare i bundle esistenti per vedere come sono implementati. E non preoccuparti di Composer fino a quando non verrà rilasciato Symfony 2.1. –