deSymfony 2012

Composer, gestor de dependencias para PHP

Adán Lobato  · 

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

bueno buenos días a todos vamos a empezar la charla de bowser antes que nada agradecer a todos los patrocinadores por colaborar y hacer posible este evento y bueno antes de empezar voy a presentarme a lobato soy desarrollador de software actualmente estoy

bastante especializado en web y bueno entre otras cosas me gusta mucho todo lo que es el mundo sin sonidos no por lo que es el framework en sí sino un poco por su ecosistema la documentación la gente un poco el ambiente que se respira y bueno soy colaborar

colaboradora ocasional de proyectos open source y actualmente estoy trabajando en percepción antes de empezar a saco con saber que es composer me gustaría hacer una pequeña introducción de cuál es el problema que intenta resolver entonces imaginaos que hace

unos años teníamos una empresa y decidimos que tenemos una buena idea y decidimos hostias vamos a hacer una aplicación para resolver esta idea cogíamos hacíamos la aplicación nos poníamos ahí con los cinco sentidos y al final salía un paquetito una aplicación

súper chula y muy bien resuelta muy bonita todo el mundo estaba muy contento con esta aplicación es ya este proyecto tiene futuro vamos a seguir mejorándola y trabajando en ella total que pasaban los meses seguíamos desarrollando nuevas criaturas y conforme

iba avanzando el tiempo cada vez nos gustaba más nuestra aplicación se iba volviendo cada vez más monstruosa hace unos años en las empresas e intentaban resolver ellos mismos cualquier necesidad que tuvieran cualquiera ya fuera a nivel de base de datos a nivel

de logs cualquier cosa que necesitas en ellos se lo guisan y ellos se lo comían lo que pasa que un día hubo un desarrollador que dijo bueno y por qué tengo que estar aquí desarrollándolo todos y he visto una librería por ahí colgada que hace solo una cosa

y la hace muy bien voy a probar de utilizarla robo funciona muy bien dijo utilizar pues nada le gustó el rollo y seguir añadiendo librerías para que voy a seguir trabajados amiguetes y los amiguetes al tono al final la aplicación empezó a encogerse cada vez

delegaba las cosas que tú hacías a otras librerías y te focalizaban más en la parte importante de tu aplicación que era realmente donde nosotros queremos hacer dinero pero qué pasa que todas esas dependencias además pensaban como nosotros y no querían hacerlo

todo ellos buscaban también sus dependencias y empezaron a depender unas de otras qué ocurre aquí pues que si esto no lo tenemos bien medido aquí nos podemos volver locos porque ocurre que aquí cada dependencia pues depende de una versión concreta además queremos

que sean actualizables cómo resolvemos esto porque hacemos nos descargamos el cid de la librería y lo metemos allí en nuestro sistema de control de versiones allá saco para luego esto dificulta actualizarlo bueno si trabajamos con subversión pues nos montamos

unas externas y tan buenos y la librería están git como lo hacemos con sus módulos y si queremos alguna de subversión humano ya ya se está complicando todo mucho entonces aquí era claro que hacía falta una solución y es aquí cuando llegó con póster y así que

compuse qué es exactamente pues no es más que eso es una librería que nos permite declarar cuáles son las librerías de las cuales depende nuestro proyecto y instalarlas por nosotros y esta idea es nueva o se han inventado ellos pues no como nos tienen acostumbrados

en el ecosistema symphony e intentar hacer las cosas basándose en las buenas ideas y buenas prácticas de los mejores ecosistemas que hay alrededor compuse en este caso están basados principalmente en mpm que es el gestor de paquetes de no de js y en vander

de rubia en que pasa que para psp no había nada bueno al menos nada parecido algunos quizá hable de pero bueno que hacer tiene sus inconvenientes también por un lado las las instalaciones de dependencias son a nivel de sistema cosa que dificulta el trabajar

con diferentes versiones en diferentes proyectos por otro lado no podemos trabajar con el código fuente o en todo caso no es tan sencillo tenemos que trabajar nada más que con el código que se distribuye ya está no permite trabajar con otros orígenes de datos

ya sean con repositorios de git versión nos permite trabajar con perú y hasta y además una cosa buena que trae con póster es que es compatible con perú así que no abandonamos del todo pero sino que lo podemos utilizar también luego tenemos como entonces hemos

dicho que para utilizar composer lo único que tenemos que hacer es definir cuáles son las dependencias de nuestro proyecto de alguna manera bien para hacerlo lo único que tenemos que hacer es ir a la raíz de nuestro proyecto y crear un fichero composer puntos

jason abrimos una clave rico y es ahí donde tenemos que poner todas las librerías de las cuales depende nuestro proyecto y las versiones que queremos utilizar la nomenclatura es sencilla en el primer componente si os fijáis por ejemplo sinfonía ibarra con

sol el primer componente no es más que el vendor de la librería en este caso symphony y el segundo componente el propio nombre de la librería lo siguiente ya sería la versión que queremos utilizar en este caso la 2012 que además composer te permite otro tipo

de nomenclaturas para especificar la versión podemos poner algo así un place holder esto querría decir que queremos la última versión que haya de la versión 2 0 eso está muy bien porque nos permitirá que nuestra librería se vaya actualizando pero también podemos

hacer cosas así pues mira queremos cualquier versión que sea mayor o igual que la 20 pero que no llegue a ser la 21 y esto y este tipo de operando los podemos combinar y hacer tantas tantas combinaciones como queramos incluso podríamos tener algo así tenemos

[ ... ]

Nota: se han omitido las otras 2.723 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.