Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/03/2005, 12:42
Avatar de sism82
sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 3 meses
Puntos: 1
que tal.
Si es que entiendo bien tu cuestinamiento, lo que necesitas es crear una clase totalmente nueva que manipule tantas extensiones como desees. Es decir, esta nueva clase se especializa en manipular extensiones de la clase FPDF. Podriamos llamarla 'FpdfExtensionHandler' y no hereda de ninguna otra clase, sino instancia objetos que heredan de Fpdf, de tal forma que podrías tener algo asi:

Código PHP:
final class FpdfExtensionsHandler
{
    const 
HANDLERS_DIRECTORY 'path/al/directorio/de/las/clases_extensiones/';
    private 
$extensions      = array();
    public  
$extension       null;
    
    public function 
__construct()
    {
        return 
true;
    }
    
    
/**
     * @return Bool
     * @param String $ExtensionName
     */
    
public function LoadExtension($ExtensionName)
    {
        
$extension_path self::HANDLERS_DIRECTORY.$ExtensionName
        
if ( file_exists($extension_path) && !class_exists($ExtensionName) )
        {
            include_once(
$extension_path);
            
$this->extensions[$ExtensionName] = new $ExtensionName();
        }
        return 
true;
    }
    
    
/**
     * @return Bool
     * @param String $ExtensionName
     */
    
public function SetExtension($ExtensionName)
    {
        if ( 
array_key_exists($ExtensionName,$this->extensions) )
        {
            
$this->extension =& $this->extensions[$ExtensionName];
        }
    }

de esta forma tu puedes cargar las extensiones que desees dentro del mismo objeto, simplemente usas el método LoadExtension para cargarlo, y luego SetExtension para usar la extensión que desees, la variable $this->extension siempre apunta a la extensión seleccionada.

Espero haber entendido correctamente tu cuestionamiento. Este proceso te permite seguir cargando tantas extensiones como desees. Obviamente hacen falta métodos para comprobar la existencia de las clases, etc etc.

saludos