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.
Předchozí kapitola
Práce s moduly
Další kapitola
Jet\Application_Modules_Handler