Jet\MVC
Tato třída je hlavní fasádou MVC. Jak již víte z kapitoly o routeru, tak třída Jet\MVC drží instanci - singleton routeru.
Dále umožňuje snadno přistupovat k aktuálnímu stavu (např. k aktuální bázi, lokalizaci a stránce).
A v neposlední řadě je určena pro práci s bázemi a stránkami - tedy k získávání instancí konkrétních bází a stránek.
Metoda | Význam |
---|---|
public static getRouter( ): MVC_Router_Interface |
Vrátí instanci - singleton routeru. Pokud ještě nebyla vytvořena, tak ji pomocí továrny vytvoří. |
public static setRouter( MVC_Router_Interface $router ): void |
Je možné vnutit svou vlastní instnaci routeru. |
public static getBase( ?string $base_id=null ): MVC_Base_Interface|null |
Vrátí instnaci báze. Pokud ID není specifikováno, pak vrátí instanci aktuální báze podle toho jak ji identifikoval router. |
public static getBases( ): MVC_Base_Interface[] |
Vrátí instance všech definovaných bází. |
public static getDefaultBase( ): MVC_Base_Interface|null |
Vrátí instnaci báze, která je označena jako výchozí. |
public static getLocale( ): Locale|null |
Vrátí instnaci aktuálního lokalizace. Jde o zkratku pro volání:
MVC::getRouter()->getLocale();
Stačí používat:
MVC::getLocale();
|
public static getPage( string|null $page_id=null, Locale|null $locale = null, string|null $base_id = null ): MVC_Page_Interface|null |
Vrátí instanci stránky. Všechny parametry jsou nepovinné a výchozí hodnoty parametrů jsou aktuální hodnoty (aktuální stránka, aktuální lokalizace a aktuální báze). Tedy takto získáte určitou stránku v aktuální lokalizaci aktuální báze:
$page = MVC::getPage('page_id');
Ovšem pokud chcete třeba stránku se stejným ID jako je ta aktuální, ovšem v jiné lokalizaci, můžete to udělat takto:
$page = MVC::getPage( locale: $locale );
Pokud chcete instanci aktuální stránky, pak to můžete udělat takto:
$page = MVC::getPage();
|
public static getHomePage( Locale|null $locale = null, string|null $base_id = null ): MVC_Page_Interface|null |
Vrátí instanci kořenové stránky určené báze a lokalizace. Všechny parametry jsou nepovinné a výchozí hodnoty parametrů jsou aktuální hodnoty (aktuální lokalizace a aktuální báze). Pokud chcete třeba homepage, ovšem v jiné lokalizaci než je ta aktuální, můžete to udělat takto:
$page = MVC::getHomepagePage( locale: $locale );
Pokud chcete instanci aktuální homepage, pak to můžete udělat takto:
$page = MVC::getHomePage();
|
public static getPages( string $base_id, Locale $locale ): MVC_Page_Interface[] |
Vrátí pole instancí všech stránek dané báze a lokalizace. |