Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Desarrollar una librería con namespaces

Estas en el tema de Desarrollar una librería con namespaces en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy desarrollando esta librería para la API de Ebay para usarla en Symfony. Si la voy desarrollando junto con Symfony va de lujo, pero no ...
  #1 (permalink)  
Antiguo 06/03/2014, 12:38
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Desarrollar una librería con namespaces

Estoy desarrollando esta librería para la API de Ebay para usarla en Symfony. Si la voy desarrollando junto con Symfony va de lujo, pero no se cómo puedo crear un proyecto PHP suelto sólo con este código para desarrollarla.

No me queda el tema de los namespaces y el "use". Se que esta función (spl_autoload_register) es necesaria para usar los namespaces pero no se cómo hacerlo.

Gracias.
  #2 (permalink)  
Antiguo 06/03/2014, 13:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Desarrollar una librería con namespaces

¿Cual es en sí tu duda? ¿como usar los Namespaces?
  #3 (permalink)  
Antiguo 06/03/2014, 13:33
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Desarrollar una librería con namespaces

Cita:
Iniciado por GatorV Ver Mensaje
¿Cual es en sí tu duda? ¿como usar los Namespaces?
Cómo hacer que funcionen. Que funcione el "use". No tener que usar el típico "require" o "include".

He encontrado unos vídeos interesantes sobre el tema:

https://www.youtube.com/watch?v=4t234Jd6DHY (Están también el 2 y el 3)

Última edición por cluster28; 06/03/2014 a las 14:29 Razón: Vídeos explicativos
  #4 (permalink)  
Antiguo 06/03/2014, 14:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Desarrollar una librería con namespaces

Pues como indicaste en tu primer tema, necesitas un autoloader, si lees el estándar PSR-0 dice todo lo que necesitas al respecto e inclusive trae una implementación de un autoloader compatible, de ahí en fuera una vez que tienes el autoloader listo, con hacer use e instanciar las clases funciona.
  #5 (permalink)  
Antiguo 06/03/2014, 14:54
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Desarrollar una librería con namespaces

Cita:
Iniciado por cluster28 Ver Mensaje
Cómo hacer que funcionen. Que funcione el "use". No tener que usar el típico "require" o "include".

He encontrado unos vídeos interesantes sobre el tema:

https://www.youtube.com/watch?v=4t234Jd6DHY (Están también el 2 y el 3)
Como te comenta GastorV necesitas una implentacion del autoloader para el PSR-0.
Ahora tu vas a usar la librería para incluirla en un bundle, cuando creas un bundle tiene dependencia del symfony / FrameworkBundle que ya incluye el autoloader de symfony.
Asi que para usar tu libreria dentro del bundle necesitas solo declarar en tu json:

Código PHP:
Ver original
  1. "cluster28/eBay-php-sdk"

y si colcaste todo bien en esta linea de tu libreria:
Código PHP:
Ver original
  1. "autoload" : {
  2.             "psr-0" : {
  3.                     "eBay\\lib": ""
  4.             }
  5.     }
todo debe de funcionar bien
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #6 (permalink)  
Antiguo 06/03/2014, 15:07
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Desarrollar una librería con namespaces

Ha salido a la primera, gracias chicos. Lo del "spl_autoload_register" lo dejo para otro

Etiquetas: desarrollar, symfony
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:38.