¿Como puedo hacer que un objeto sea un "extend" de
otro, pero despues de
> llamar a un metodo de él
mismo?
>
> Ejemplo:
>
>
----------------------------------------------------------------------------------------------------------------------------------------------------------------
> // fichero mysql.php
>
> class mysql {
> }
>
>
----------------------------------------------------------------------------------------------------------------------------------------------------------------
> // fichero oracle.php
>
> class oracle {
> }
>
>
----------------------------------------------------------------------------------------------------------------------------------------------------------------
> // fichero base.php
>
> class base {
> function __construct() {
> $this->tipo =
$this->obtener_tipo();
>
> if($tipo == "oracle") --> quiero
recoger todos los metodos,
> propiedades, etc, de la clase
oracle
> elseif($tipo == "mysql") -->
quiero recoger todos los metodos,
> propiedades, etc de la clase
mysql
> }
>
> function obtener_tipo() {
> // obtengo el tipo leyendo un
archivo externo
> [codigo]...[/codigo]
>
> return $tipo;
> }
> }
>
> $bd = new base();
>
>
----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> ¿Se puede hacer?
>
Lo que estás proponiendo es que la clase "base" sea
una clase abstracta y
las clases "oracle" y "mysql" hereden de ella. Pues la
respuesta es que
extiendas la clase "base" en "oracle" y "mysql". No te olvides
de
sobrecargar en las hijas los métodos de la clase
abstracta a modo de
interfaz...
echo 'Saludos';
--
Rafa Couto (caligari)
mailto:rafacouto @gmail.com
Linux user #99126 (http://counter.li.org)
Nearby vie feb 02 2007 -
18:23:06 CET