Foros del Web » Programando para Internet » PHP »

[POO] Autoloader en una clase tipo factoría

Estas en el tema de [POO] Autoloader en una clase tipo factoría en el foro de PHP en Foros del Web. Buenas tardes. Estoy pegándome con un patrón de tipo Factory para poder instanciar clases en función de variables que se reciban, pero llevo un par ...
  #1 (permalink)  
Antiguo 21/03/2015, 14:40
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
[POO] Autoloader en una clase tipo factoría

Buenas tardes.

Estoy pegándome con un patrón de tipo Factory para poder instanciar clases en función de variables que se reciban, pero llevo un par de días con la parte del autolader dentro de la clase factory, pero no hay manera de que me cargue el archivo y la clase.

Tengo el archivo index.php con este código

Código PHP:

  ini_set
("display_errors"1);

  
$clase 'uno';
  
var_dump( include_once 'src/factory.class.inc') ;
  echo 
"<br>"

  use 
ProductFactoryProductFactory as Factory;
    
  try{
    
$objeto Factory::build($clase);
  }
  catch(
Exception $e) {
    echo 
'Message: ' .$e->getMessage();
  }
 
// var_dump($objeto); 
las clases las tengo dentro del directorio src
factory.class.inc tiene este código
Código PHP:
namespace ProductFactory;

class 
ProductFactory
{
    public static function 
build($clase) {
        
//validar si carga el archivo
        // Or, using an anonymous function as of PHP 5.3.0
        
spl_autoload_register(function ($clase) {
          include  
$clase '.class.inc';
        });


        
// $objeto = $clase . 'class.inc';
        
if (class_exists($clase)) {
            return new 
$clase();
        }
        else {
            throw new 
Exception("Invalid product type given.");
        }
    } 

Y uno.class.inc tiene este código
Código PHP:
namespace numero;

class 
uno
{
  function 
__construct() {
    print 
"Imprimiento información en el constructor \n";
  }

Alguna sugerencia o ayuda en la carga de la clase definida en el archivo uno.class.inc dentro de la factoría?

Gracias

Oskar

Última edición por oskar_calvo; 21/03/2015 a las 14:50
  #2 (permalink)  
Antiguo 21/03/2015, 17:22
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: [POO] Autoloader en una clase tipo factoría

Necesitas crear primero el auto loader, y después tu implementación de del factory debe de crear la clase.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: clase, tipo, variable
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 16:45.