Una cuestión sobre la POO en php a ver si alguien me la puede contestar con un pequeño ejemplo.
Supongamos una pequeña aplicación de gestión de archivo de Películas.
Tenemos 2 tablas:
Generos (GeneroID, Descripcion)
Para introducir los géneros: Terror, Drama, etc.
Películas (PeliculaID, Titulo, GeneroID)
Para introducir películas y a que género pertenecen
Definimos 2 clases:
Class Genero
{
function __construct(CodigoGenero)
{
//Aquí podemos codificar acceso a la tabla
...
}
Public GeneroID;
Public Descripcion;
// Aqui podemos codificar algún método
...
}
Y
Class Pelicula
{
function __construct(CodigoPelicula)
{
//Aquí podemos codificar acceso a la tabla
...
}
Public PeliculaID;
Public Titulo;
¿¿¿¿¿Public Genero;?????
// Aqui podemos codificar algún método
...
}
Lo correcto sería que la propiedad Genero sea una referencia a la clase
Genero (ojo no es herencia) para poder esto:
<?php
// Clase para crear una colección de Películas
class Peliculas
{
...
function Show()
{
...
foreach ($this->colPeliculas as $objPelicula)
{
print $objPelicula->Descripcion ." " . $objpelicula->Genero->Descripcion
}
}
?>
La pregunta es ¿cuando inicalizamos la propiedad Genero?
En VB 6.0 la instrucción Property Get facilitaba las cosas al permitir
inicializar una propiedad que es un objeto solo cuando se hace referencia
a ella. Por lo que he podido ver en C++ se utiliza la definición Friend
¿Como se hace en php?,
¿en que momento y como se inicializa el objeto Genero en la clase película?
Gracias a todos y si puedo aportar algo en POO lo intento.