2012-01-30 9 views
5

Tengo algunos paquetes que probablemente voy a reutilizar en diferentes proyectos, o incluso compartir con personas, y quiero empaquetarlos de una manera distribuible.¿Cuál es la forma estándar de empaquetar paquetes para distribución en symfony2?

¿Cuál es la mejor manera de empaquetarlos para este propósito?

También estaba considerando distribuirlo con una aplicación de muestra, para que la gente comience rápidamente, ¿hay alguna forma más o menos estándar de hacerlo?

+0

¿Has leído http://symfony.com/doc/current/cookbook/bundles/best_practices.html? – Nanocom

+1

Echa un vistazo a Composer, será el administrador de dependencias estándar a partir de Symfony2 v2.1. Básicamente, usted define las dependencias para su proyecto en un solo archivo json. Cada dependencia también puede tener sus propias dependencias, definidas en su propio archivo json. Y luego simplemente instala todo con un solo comando. – ChocoDeveloper

Respuesta

4

Echa un vistazo a la entrada del libro de cocina Bundle Structure and Best Practices. También puede aprender observando los paquetes existentes, que puede encontrar en el sitio KnpBundles.

Básicamente, las personas crean un nuevo proyecto para cada paquete en github. Por lo tanto, no hay nada especial en empaquetado ellos.

+0

Supongo que las personas descargarían mi proyecto y copiarían y pegarían mi paquete en su proyecto. ¿Qué ocurre si mi proyecto es más complejo, como tener bibliotecas externas adicionales en el directorio de proveedores y mi paquete dependiendo de ellas? ¿Cómo pueden las personas decir que tienen que copiar más que solo el paquete? – Jens

+2

Para completar: la documentación solo dice "Un paquete no debe incrustar bibliotecas PHP de terceros. En su lugar, debe confiar en la carga automática Symfony2 estándar", por lo que el repositorio solo debe contener los archivos del paquete, la única forma de agregar dependencias es editando el archivo deps en su aplicación (¡es mejor documentar bien los requisitos de su paquete!). No hay forma de que Symfony 2.0 maneje las dependencias en el paquete automáticamente. En Symfony 2.1 esto es resuelto por Composer (gracias @ChocoDeveloper). – Jens

Cuestiones relacionadas