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

Iniciandome en PHP POO he creado una biblioteca esta bien?

Estas en el tema de Iniciandome en PHP POO he creado una biblioteca esta bien? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. <?php require_once 'Jefe.php'; class Index { public function ejecutar() { $videoclub=new Videoclub('LosPeliculones'); $jefe=new Jefe('Jose Antonio', 45); $jefe->setVideoclub($videoclub); $trab1=$videoclub->anadirTrabajador('Adrian', 'Poulino', 30, 'C/El arraidoz'); $trab2=$videoclub->anadirTrabajador('Marc', 'Gonzalez', 22, ...
  #1 (permalink)  
Antiguo 26/03/2012, 05:19
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
Iniciandome en PHP POO he creado una biblioteca esta bien?

<?php
require_once 'Jefe.php';

class Index
{
public function ejecutar()
{
$videoclub=new Videoclub('LosPeliculones');
$jefe=new Jefe('Jose Antonio', 45);
$jefe->setVideoclub($videoclub);
$trab1=$videoclub->anadirTrabajador('Adrian', 'Poulino', 30, 'C/El arraidoz');
$trab2=$videoclub->anadirTrabajador('Marc', 'Gonzalez', 22, 'c/Los Manzanos/13');
$trab3=$videoclub->anadirTrabajador('Dere', 'Panisa', 42, 'c/El hasta/n15');
echo $videoclub->getTrabajadores();
echo $videoclub->buscarTrabajador('Adrian', 'a');
$trab1->crearConsulta($videoclub, 'la sona');
$videoclub->addJuegos('Tomb Raider');
$videoclub->addJuegos('Sonic');
$videoclub->addJuegos('Mario Bros');
$trab1->crearConsulta($videoclub, 'Tomb Raider');

}
}
$index=new Index();
$index->ejecutar();
-----------------------------------------------------------------------------------------------------

<?php

class Casa
{
private $_direccion;

public function __construct($direccion)
{
$this->_direccion=$direccion;
}
public function __toString()
{
return $this->_direccion;
}
}
----------------------------------------------------------------------------------------------------
<?php

require_once 'Videoclub.php';

class Consulta
{
private $_texto;
private $_videoclub;

public function __construct(Videoclub $videoclub,$texto)
{
$this->_texto=$texto;
$this->_videoclub=$videoclub;

echo $videoclub->consultarJuegos($texto);
}

public function __toString()
{
return $this->_texto;
}
}
--------------------------------------------------------------------------------------------------

<?php

require_once 'Videoclub.php';

class Jefe
{
private $_nombre;
private $_edad;
private $_videoclub;

public function __construct($nombre,$edad)
{
$this->_nombre=$nombre;
$this->_edad=$edad;
}

public function setVideoclub(Videoclub $videoclub)
{
$this->_videoclub=$videoclub;
}
/*
public function crearTrabajador($nombre,$apellido,$edad,$casa)
{
return $this->_videoclub->anadirTrabajador($nombre,$apellido,$edad,$casa) ;
}
*
*/
}
-----------------------------------------------------------------------------------------------

<?php

class Juego
{
private $_nombre;
public function __construct($nombre)
{
$this->_nombre=$nombre;
}
public function __toString()
{
return $this->_nombre;
}
}
?>
--------------------------------------------------------------------------------------------------
<?php

require_once 'Consulta.php';
require_once 'Casa.php';

class Trabajador
{
private $_nombre;
private $_apellido;
private $_edad;
private $_casa;
private $_colConsulas=array();

public function __construct($nombre,$apellido,$edad,$casa)
{
$this->_nombre=$nombre;
$this->_apellido=$apellido;
$this->_edad=$edad;
$this->_casa=new Casa($casa);
}
public function __toString()
{
return $this->_nombre.' '.$this->_apellido.' '.$this->_edad. ' '.$this->_casa;
}
public function getNombre()
{
return $this->_nombre;
}
public function getApellido()
{
return $this->_apellido;
}
public function crearConsulta(Videoclub $videoclub,$texto)
{
$this->_colConsulas[]=new Consulta($videoclub,$texto);
}
public function getConsultas()
{
foreach($this->_colConsulas as $consulta)
{
return $consulta;
}
}

}
----------------------------------------------------------------------------------------------------
<?php
require_once 'Trabajador.php';
require_once 'Juego.php';
//require_once 'Pelicula.php';

class Videoclub
{
private $_nombre;
private $_colTrabajadores=array();
private $_colPeliculas=array();
private $_colJuegos=array();

public function __construct($nombre)
{
$this->_nombre=$nombre;
}
public function anadirTrabajador($nombre,$apellido,$edad,$casa)
{
$temp=new Trabajador($nombre, $apellido, $edad, $casa);
$this->_colTrabajadores[]=$temp;
return $temp;
}

public function getTrabajadores()
{
$retorno='';
$retorno .='<u>Trabajadores'.' del Videoclub: '. '<b>'.$this->_nombre.'</b></u><br>';
foreach($this->_colTrabajadores as $trabajador)
{
$retorno .= $trabajador . '<br>';
}
return $retorno.='<br>';
}
public function buscarTrabajador($nombre,$apellido)
{
$intro ='Busqueda de Trabajadores de '. $this->_nombre.'<br>';
foreach($this->_colTrabajadores as $trabajador)
{
if($trabajador->getNombre()==$nombre)
{
$retorno= $trabajador.'<br>';
}
else if($trabajador->getApellido()==$apellido)
{
$retorno= $trabajador.'<br>';
}
}
return $intro.$retorno;
}

public function consultasRealizadasPor($nombre)
{
$retorn ='Consultas realizadas por '.$nombre.':';
foreach($this->_colTrabajadores as $trabajador)
{
if($trabajador->getNombre()==$nombre)
{
foreach($trabajador->getConsultas() as $consulta)
{
$retorn .=$consulta.'<br>';
}
}
}
return $retorn;
}
public function addJuegos($nombre)
{
$temp=new Juego($nombre);
$this->_colJuegos[]=$temp;
return $temp;
}
public function consultarJuegos($nombre)
{
foreach($this->_colJuegos as $juego)
{
if($juego==$nombre)
{
return $juego;
}
}
}

}
-----------------------------------------------------------------------------------------------

Pregunto porque ademas tengo dudas que la Consulta imprimirla desde el constructor de la clase Consulta sea correcto. Espero vuestra respuesta Gracias

Etiquetas: biblioteca, creado, php, poo
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 09:36.