Jet\Application_Modules
Jak již víte, tak tato třída slouží pro práci s moduly. Pojďme se podívat co všechno umí.
Přehled metod
Metoda | Význam |
---|---|
public static getHandler( ): Application_Modules_Handler |
Už vás asi nepřekvapí, že třída neprovádí operace s moduly přímo, ale používá handler (tedy backend), který ve skutečnosti operace jako načítání manifestů a práci se soubory obsahujícími seznamy modulů provádí. Tato třída je tedy opět pouze fasáda a kontejner. A ano, i práce s moduly je vlastně sama o sobě modulární. Handler si můžete udělat vlastní. Stačí vytvořit třídu dědící od abstraktní třídy Jet\Application_Modules_Handler. Pokud však nenastavíte vlastní handler, pak je použit Jet\Application_Modules_Handler_Default. |
public static setHandler( Application_Modules_Handler $handler ):void |
Nastaví instanci handleru. Viz metoda getHandler. Metodu běžně není nutné volat. Systém ve výchozím stavu používá výchozí handler. Tedy tuto metodu voláte pouze pokud si přejete používat vlastní handler (a nepostačí vám změna názvu třídy výchozího handleru pomocí továrny) a to během fáze inicializace aplikace. |
public static getModuleDir( string $module_name ): string |
Vrátí plnou cestu k adresáři modulu daného jména. |
public static allModulesList( ): Application_Module_Manifest[] |
Vrátí pole manifestů všech nalezených modulů, bez ohledu na to zda jsou nainstalované a aktivní. |
public static installedModulesList( ): Application_Module_Manifest[] |
Vrátí pole manifestů všech instalovaných modulů a to i když nejsou aktivní. |
public static activatedModulesList( ): Application_Module_Manifest[] |
Vrátí pole manifestů všech instalovaných a aktivovaných modulů. |
public static moduleExists( string $module_name ): bool |
Indikuje zda modul vůbec existuje bez ohledu na to zda je nainstalovaný a aktivní. |
public static moduleIsInstalled( string $module_name ): bool |
Indikuje zda je modul nainstalovaný bez ohledu na to zda je aktivní. |
public static moduleIsActivated( string $module_name ): bool |
Indikuje zda je modul nainstalovaný a aktivní. |
public static moduleManifest( string $module_name ): Application_Module_Manifest |
Vrátí manifest určitého modulu. Pozor! Požadovaný modul musí existovat (ale nemusí být nainstalovaný a aktivní). |
public static installModule( string $module_name ): void |
Nainstaluje modul a během instalace provede instalační skript (pokud existuje). Pokud cokoliv selže, tak vyhazuje výjimku Jet\Application_Modules_Exception. |
public static uninstallModule( string $module_name ): void |
Odinstaluje modul a během deinstalace provede deinstalační skript (pokud existuje). Pokud cokoliv selže, tak vyhazuje výjimku Jet\Application_Modules_Exception. |
public static activateModule( string $module_name ): void |
Aktivuje modul. Pokud cokoliv selže, tak vyhazuje výjimku Jet\Application_Modules_Exception. |
public static deactivateModule( string $module_name ): void |
Deaktivuje modul. Pokud cokoliv selže, tak vyhazuje výjimku Jet\Application_Modules_Exception. |
public static moduleInstance( string $module_name ): Application_Module |
Vrátí instanci hlavní třídy Main požadovaného modulu. Modul musí být aktivní. Pokud není, pak je vyhozena výjimka Jet\Application_Modules_Exception. K tomu by nemělo v aplikaci dojít. Před prací s modulem je vhodné ověřit jeho dostupnost a dle toho řešit aplikační logiku. Nebo by modul měl být mandatorní a mělo by být zajištěno, že jej nikdo nedeaktivuje. |
public static readManifestData( string $module_name ): void |
Ze souboru manifestu načte surová data. |
public static saveManifest( Application_Module_Manifest $manifest ): void |
Zapíše data manifestu do souboru. |