PHP Jet Framework

rychle, jednoduše, přímo, bezpečně, efektivně
čeština
Jak začít Dokumentace Ke stažení Kontakt Diskuze / Fórum Blog
Dokumentace

Loader

Jedná se o modul Autoloaderu, který pracuje takto:

  • Určí zda je pro daný název třídy relevantní pro daný loader. Pokud ne, vrátí false a Autoloader dá příležitost dalšímu zaregistrovanému loaderu.
  • Pokud je pro daný název třídy relevantní, pak sestaví cestu ke skriptu, který třídu obsahuje. To by měl provést co nejrychleji (s co nejnižší režií). Zjištěnou cestu pak vrátí jako návratovou hodnotu. Autoloader se postará o zbytek procesu nahrání třídy. To již není věcí Loaderu.

Každý loader musí dědit od třídy Jet\Autoloader_Loader.

Loadery jsou v aplikačním prostoru v adresáři ~/application/Autoloaders/. Jsou tedy předurčené k úpravám, změnám, doplňování.

Inicializace probíhá ve skriptu ~/application/Init/Autoloader.php. Tento skript je opět možné upravovat dle potřeby (aplikační prostor). Každý loader musí být "natažen" konvenčně pomocí require (a za vyžití Jet\SysConf_Path) a následně zaregistrován: require SysConf_Path::getApplication() . 'Autoloaders/ApplicationClasses.php';

Autoloader_ApplicationClasses::register();

Předpřipravené loadery

Třída Význam
JetApplication\Autoloader_Jet Tento loader nahrává třídy knihovny Jet. Tedy dosti základní loader :-) Ve výchozím nastavení je cesta ke třídám Jet: ~/library/Jet/ a jmenný prostor je Jet
JetApplication\Autoloader_ApplicationClasses Úkolem tohoto loaderu je nahrávat vaše aplikační třídy. Ty, které máte v adresáři ~/application/Classes/ a jsem ve jmenném prostoru JetApplication (Poznámka: jmenný prostor aplikačního prostoru lze změnit.). Loader funguje správně za předpokladu, že dodržujete stejné uspořádání tříd jako samotná platforma Jet. Což sice doporučuji, ale vždy si můžete udělat loader vlastní. 
JetApplication\Autoloader_ApplicationModules Jak název napovídá, tak nahrává třídy jednotlivých modulů aplikace. Ty jsou v adresáři ~/application/Modules/ a jmenných prostorech začínajících JetApplicationModule\* (každý modul má svůj jemenný prostor, kořenový jmenný prostor lze změnit)
Předchozí kapitola
Autoloader
Další kapitola
Jet\Autoloader_Loader