Article: Entendiendo e implementando composer en tu código PHP

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
Article: Entendiendo e implementando composer en tu código PHP

Hola estimada comunidad!, tanto tiempo que no escribía para un sitio que no fuera mi cof cof blog.unreal4u.com cof blog...

Ver el artículo
 
Última modificación:

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
Re: Article: Entendiendo e implementando composer en tu código PHP

Oye [MENTION=4243]unreal4u[/MENTION], me quedó una duda...

Si composer funciona como yum, ¿cuál sería su repositorio oficial?
 

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
PD: Buena guía.
 

nibal2

pajarón nuevo
MOD
Se incorporó
15 Junio 2007
Mensajes
2.898
Gracias por la guía.

Se ve interesante, y bastante útil.

Había escuchado muchas veces de composer, pero ante tanta variedad de herramientas no me había preocupado de averiguar sobre ésta.
 

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
Re: Article: Entendiendo e implementando composer en tu código PHP

Oye [MENTION=4243]unreal4u[/MENTION], me quedó una duda...

Si composer funciona como yum, ¿cuál sería su repositorio oficial?

packagist sería el repo oficial, tal como yum o apt-get tb puedes crear tu mismo una repo privada o pública, por lo general mediante satis, aunque tb existen otros protocolos. De todas formas no incluí esa parte en la guía ya que se saldría del tópico jajajja
 

Kitsune

Fanático
Se incorporó
5 Mayo 2006
Mensajes
1.049
Re: Article: Entendiendo e implementando composer en tu código PHP

Buena guía! no conocía composer.
De todas maneras, para no salir de la esfera del desarrollo, otra buen simil seria maven o gradle de java. Que entre otras cosas, permiten manejar las dependencias internas/externas que necesitemos para nuestras aplicaciones.
 

Batou

%安全
Se incorporó
13 Julio 2008
Mensajes
497
Re: Article: Entendiendo e implementando composer en tu código PHP

Genial articulo,,,,he estado aprendiendo un poquito de Android y esto me recuerda a gradle de AndroidStudio.

Existen plugins para ZendFramework y Eclipse (para los pobres como yo xD), que puedan editar y generar archivos de conf del composer?

En cuanto a PHP, en cuanto a conexiones, tanto curl como sockets se demoran un kilo en PHP 5 xD!, ojala mejore en ese sentido porque me sorprendio la rapidez de Java/Android en conexiones HTTP.

Saludos :)
 

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
Re: Article: Entendiendo e implementando composer en tu código PHP

Buena guía! no conocía composer.
De todas maneras, para no salir de la esfera del desarrollo, otra buen simil seria maven o gradle de java. Que entre otras cosas, permiten manejar las dependencias internas/externas que necesitemos para nuestras aplicaciones.

Maven vendría siendo exactamente lo mismo que composer, pero para PHP :)
 

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
Re: Article: Entendiendo e implementando composer en tu código PHP

Genial articulo,,,,he estado aprendiendo un poquito de Android y esto me recuerda a gradle de AndroidStudio.

Existen plugins para ZendFramework y Eclipse (para los pobres como yo xD), que puedan editar y generar archivos de conf del composer?

En cuanto a PHP, en cuanto a conexiones, tanto curl como sockets se demoran un kilo en PHP 5 xD!, ojala mejore en ese sentido porque me sorprendio la rapidez de Java/Android en conexiones HTTP.

Saludos :)

Zend Framework (y un montón de otros frameworks) ya ocupan composer, así que mediante composer puedes incluir (solo) los módulos que tu necesites. Un editor de composer.json por lo general viene incluido en los IDE, ya viene incluida en la versión 10(.5?) de Zend Studio y PHPStorm 8+ tiene plugins para composer. Ambos son pagados xD pero bueno, si uno trabaja 8hrs al día programando PHP la empresa tb debería gastar un poco de plata en herramientas que finalmente acortan el tiempo necesario para el mismo desarrollo. Entre esos dos, para editar composer.json prefiero la verdad Zend Studio, tienes un menú para poder elegir todo y lo encuentro más amigable. Sin embargo, como un todo, PHPStorm no lo está haciendo nada de mal y tiene mi preferencia. Sólo ciertas cosas específicas todavía las hago en ZS, más que nada pq tiene algunas cosas mejor implementadas que PHPStorm.

Saludos.
 

Cosme

Gold Member
Se incorporó
27 Febrero 2005
Mensajes
8.281
Re: Article: Entendiendo e implementando composer en tu código PHP

Zend Framework (y un montón de otros frameworks) ya ocupan composer, así que mediante composer puedes incluir (solo) los módulos que tu necesites. Un editor de composer.json por lo general viene incluido en los IDE, ya viene incluida en la versión 10(.5?) de Zend Studio y PHPStorm 8+ tiene plugins para composer. Ambos son pagados xD pero bueno, si uno trabaja 8hrs al día programando PHP la empresa tb debería gastar un poco de plata en herramientas que finalmente acortan el tiempo necesario para el mismo desarrollo. Entre esos dos, para editar composer.json prefiero la verdad Zend Studio, tienes un menú para poder elegir todo y lo encuentro más amigable. Sin embargo, como un todo, PHPStorm no lo está haciendo nada de mal y tiene mi preferencia. Sólo ciertas cosas específicas todavía las hago en ZS, más que nada pq tiene algunas cosas mejor implementadas que PHPStorm.

Saludos.

netbeans tambien trae listo el modulo para composer, si hasta trae un buscador cuando inicias el proyecto :v
 

galansinchance

enajenao
Se incorporó
3 Enero 2006
Mensajes
7.425
Re: Article: Entendiendo e implementando composer en tu código PHP

Oye @unreal4u, me quedó una duda...

Si composer funciona como yum, ¿cuál sería su repositorio oficial?

También considera que hay un administrador de repositorios a parte para librerías PHP súper útil, que es PEAR.

A todo esto, no es Symphony, es Symfony :zippycafe
 
Última modificación:

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
Re: Article: Entendiendo e implementando composer en tu código PHP

También considera que hay un administrador de repositorios a parte para librerías PHP súper útil, que es PEAR.

A todo esto, no es Symphony, es Symfony :zippycafe

PEAR tiene unos cuantos problemas:

- No resuelve dependencias
- No permite un manejo fácil de control de versiones
- Casi todos los "grandes" ya se salieron de PEAR o se están saliendo
- No es amigable
- No tiene módulo de búsqueda
- El proceso de poder aparecer en PEAR es complejo comparado con Composer

Lo único malo de symfony es el nombre jajjaja nunca le achunto :p

Saludos.
 

Batou

%安全
Se incorporó
13 Julio 2008
Mensajes
497
No encuentro el post en el foro.. asi que escribire desde la portada xD.

@unreal4u , estuve probando el composer y me surgió una duda.
Si tengo una clase o proyecto en local, como lo uno al composer para aprovechar el autoloader de este?.

Estuve leyendo y según la documentación de composer seria asi:

Código:
{
    "autoload": { 
       "psr-4": {"AppName\\": "apptest/"} 
    } 
}

Tonces si tengo:

TestProyect
|_vendor/
|_apptest/ ->test.php
|_index.php
|_composer.json

apptest lo puse en la raiz porque lei que psr-4 no enlaza dentro de vendor (se puede ver en el loader de psr-4)

El problema es que al llamar la clase test en el index.php no la encuentra, he probado varias manera de llamarla y nada :S

Código:
<?php

require 'vendor/loader.php';

$a = AppName\test();
$a = \AppName\test();

?>


Siempre me sale clase no encontrada, a pesar de que ejecuto el composer dump-autoload o el update y el loader de psr4 se modifica correctamente.

Tambien intente con psr-0 (poniendo la clase dentro de vendor) y tampoco resulta u.u

Saludos.
 
Última modificación:

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
Re: Article: Entendiendo e implementando composer en tu código PHP

[MENTION=66701]Batou[/MENTION] : ocupa el optimization, dura un poco más pero analiza las carpetas que tengas y las clases que tengas y hace un classmap:

Código:
composer.phar install --optimize-autoloader

# o bien: 
composer.phar install -o

Saludos.
 

Batou

%安全
Se incorporó
13 Julio 2008
Mensajes
497
Re: Article: Entendiendo e implementando composer en tu código PHP

La clase solo tenia un echo en el construct... le agregue un namespace el cual puse en el composer y funciono!, no sabia que era necesario el namespace en la clase :pozo

Saludos.
 

Cosme

Gold Member
Se incorporó
27 Febrero 2005
Mensajes
8.281
Re: Article: Entendiendo e implementando composer en tu código PHP

La clase solo tenia un echo en el construct... le agregue un namespace el cual puse en el composer y funciono!, no sabia que era necesario el namespace en la clase :pozo

Saludos.

Estan tratando de copiar lo que se hace en java donde importas los namespaces de lo que vas a usar

import java.util.Iterator;

Pero composer se dedica a hacer eso por ti.
 
Subir