Zend Framework - ezComponents Autoloader

Flattr this
Tweet this: Zend Framework - ezComponents Autoloader
Dent this: Zend Framework - ezComponents Autoloader

Da das Autoloading von Komponenten des ezComponents-Frameworks etwas anders abläuft als bei Komponenten des Zend Framework (Klassenname lässt sich in Pfad + Dateiname umwandeln) und ich innerhalb dieses Blogs auch ezcGraph einsetze, hab ich mir einen passenden Autoloader für ezComponents-Komponenten innerhalb des Zend Frameworks gebastelt der das Laden der Komponenten an den Autoloader des ezComponents-Frameworks (ezcBase::autoload()) weitergibt und vorher die benötigte Klasse selbst lädt.

 

Einfach in einer Init-Methode des Bootstraps mit folgendem Code den Loader einbinden:

$autoLoader = Zend_Loader_Autoloader::getInstance();
$autoLoader->pushAutoloader(new App_Loader_Autoloader_Ezc(), 'ezc');

Dann werden alle Klassen die mit ezc beginnen automatisch vom Autoloader des ezComponents-Frameworks geladen.

<?php

/**
 * Autoloader for ezComponents
 *
 * @author Benjamin Steininger <robo47@robo47.net>
 */
class App_Loader_Autoloader_Ezc implements Zend_Loader_Autoloader_Interface
{
    /**
     * If the needed class/file is already loaded
     *
     * @var bool
     */
    private $_loaded = false;

    /**
     * Autoload-Method
     *
     * @param string $class name of the class
     */
    public function autoload($class)
    {
        if(!$this->_loaded) {
            require_once 'ezc/Base/src/base.php';
            $this->_loaded = true;
        }
        ezcBase::autoload($class);
    }
}

Trackbacks (0)

Trackbackurl: http://www.robo47.net/trackback/snippet/30

Es sind keine Trackbacks vorhanden.


Kommentare (1)

Die Kommentare zu diesem Beitrag sind gesperrt.

You liked it ? Link it on your homepage or blog: