Dsao_Module_Broker Klassenreferenz

Modulverwaltung (Singleton). Mehr ...

Aufstellung aller Elemente

Öffentliche Methoden

 getModule ($name)
 Gibt Modul zurück.
 getModules ($namesOnly=false)
 Gibt alle Module zurück.
 getModulesActive ($namesOnly=false)
 Gibt aktive Module zurück.
 getModulesNotActive ($namesOnly=false)
 Gibt nicht aktive Module zurück.

Öffentliche, statische Methoden

static getInstance ()
 Gibt Singleton-Instanz der Modulverwaltung zurück.

Öffentliche Attribute

const XML_MODULE_INFO_DIR = 'modules/meta/info'
 string, Verzeichnis mit Modulinformationen

Geschützte Methoden

 __construct ()
 Lädt Module und Menüs aus Datenbank.

Geschützte Attribute

 $_modulesActive = array()
 array, Array mit aktivierten Modulen; Index ist Modulname
 $_modulesNotActive = array()
 array, Array mit nicht aktiven Modulen

Statische geschützte Attribute

static $_instance = null
 Dsao_Module_Broker|null, Singleton-Instanz.


Ausführliche Beschreibung

Modulverwaltung (Singleton).

Der Modulmanager lädt Module und deren Navigation aus der Datenbank.

Autor:
DSAo-Md

http://www.gnu.org/licenses/gpl-3.0.html GNU Public License

Version:
SVN: $Id: Broker.php 519 2009-09-13 15:51:26Z saviola777 $

Definiert in Zeile 11 der Datei Broker.php.


Beschreibung der Konstruktoren und Destruktoren

Dsao_Module_Broker::__construct (  )  [protected]

Lädt Module und Menüs aus Datenbank.

Rückgabe:
void

Definiert in Zeile 38 der Datei Broker.php.

00039   {
00040     $modulesLoader = new Dsao_Xml_Loader(XML_DIR.self::XML_MODULE_INFO_DIR);
00041 
00042     // Module durchgehen
00043     foreach ($modulesLoader->getXmlObjects() as $object)
00044     {
00045       // Modul instanziieren
00046       $module = new Dsao_Module($object->name, (bool) $object->active);
00047 
00048       // Zu internen Arrays hinzufügen
00049       if ($module->isActive())
00050       {
00051         $this->_modulesActive[$module->getName()] = $module;
00052       }
00053       else
00054       {
00055         $this->_modulesNotActive[$module->getName()] = $module;
00056       }
00057     }
00058   }


Dokumentation der Elementfunktionen

static Dsao_Module_Broker::getInstance (  )  [static]

Gibt Singleton-Instanz der Modulverwaltung zurück.

Rückgabe:
Dsao_Module_Broker, Singleton-Instanz

Definiert in Zeile 65 der Datei Broker.php.

Wird benutzt von Dsao_Module_Menu::__construct() und Dsao_Constructor_Acl::getObject().

00066   {
00067     // Falls Instanz noch nicht initialisiert
00068     if (null === self::$_instance)
00069     {
00070       $cacheLoader = new Dsao_Cache_Loader('File',
00071         array('automatic_serialization' => true,
00072               'master_files' => array(XML_DIR.self::XML_MODULE_INFO_DIR)));
00073       $cache = $cacheLoader->getCache();
00074 
00075       // Falls Modulmanager nicht im Cache vorhanden
00076       if (!(self::$_instance = $cache->load('moduleBroker')))
00077       {
00078         self::$_instance = new self();
00079 
00080         // Alle von den Modulen abhängigen Cache-Einträge entfernen
00081         $cache->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('module'));
00082 
00083         $cache->save(self::$_instance, 'moduleBroker');
00084       }
00085     }
00086 
00087     return self::$_instance;
00088   }

Dsao_Module_Broker::getModule ( name  ) 

Gibt Modul zurück.

Parameter:
$name string, Modulname
Rückgabe:
Dsao_Module, Modul

Definiert in Zeile 96 der Datei Broker.php.

00097   {
00098     $name = (string) $name;
00099 
00100     // Falls Modul aktives Modul
00101     if (isset($this->_modulesActive[$name]))
00102     {
00103       return $this->_modulesActive[$name];
00104     }
00105     // Falls Modul nicht aktives Modul
00106     else if (isset($this->_modulesNotActive[$name]))
00107     {
00108       return $this->_modulesNotActive[$name];
00109     }
00110     // Ansonsten ist Modul nicht vorhanden, Exception werfen
00111     else
00112     {
00113       throw new Dsao_Exception(array(
00114         'message' => 'dsao_module_manager_invalid_module',
00115         'variables' => array('name' => $name)
00116       ));
00117     }
00118   }

Dsao_Module_Broker::getModules ( namesOnly = false  ) 

Gibt alle Module zurück.

Rückgabe:
array, Module

Definiert in Zeile 125 der Datei Broker.php.

00126   {
00127     return $namesOnly
00128     ? array_keys(array_merge($this->_modulesActive, $this->_modulesNotActive))
00129     : array_merge($this->_modulesActive, $this->_modulesNotActive);
00130   }

Dsao_Module_Broker::getModulesActive ( namesOnly = false  ) 

Gibt aktive Module zurück.

Rückgabe:
array, Module

Definiert in Zeile 137 der Datei Broker.php.

00138   {
00139     return $namesOnly ? array_keys($this->_modulesActive)
00140       : $this->_modulesActive;
00141   }

Dsao_Module_Broker::getModulesNotActive ( namesOnly = false  ) 

Gibt nicht aktive Module zurück.

Rückgabe:
array, Module

Definiert in Zeile 148 der Datei Broker.php.

00149   {
00150     return $namesOnly ? array_keys($this->_modulesNotActive)
00151       : $this->_modulesNotActive;
00152   }


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Fri Sep 18 19:04:13 2009 für DSA online - Morgendaemmerung von  doxygen 1.5.7.1