Projekt

Obecné

Profil

Požadavek #928

Aktualizováno uživatelem Ondřej Fibich před téměř 10 roky(ů)

Zavést systém adresářů s moduly */modules/*, každá podsložka reprezentující modul bude obsahovat: 

 * *application* 
 ** *controllers* 
 ** *helpers* 
 ** *i18n* 
 ** *libraries* 
 ** *models* 
 ** *views* 
 * *db_upgrades* 
 * *doc* 
 * *media* 
 * module.php _(soubor s definicemi verze, názvu apod.)_ 

 V repozitář modulu bude vypada následovně (tj. nebude v hlavním repozitáři): 

 * *src* _(výše popsaný obsah)_ 
 * *test* 
 * *deb* 
 * README 
 * LICENCE 

 PHP třídy bude mít každý modul ve vlastním PHP jmenném prostoru *\freenetis\module\<jméno *\module\<jméno modulu>\<x>\<y>\<z>*. 
 x, y, z bude respektovat adresářovou strukturu (stejně jako balíček v Javě), pokud budu mít teda controller _Abc_Controller_ modulu _abeceda_ pak jeho jmenný prostor bude _\freenetis\module\abeceda\controllers_. _\module\abeceda\controllers_. Pokud by byl ve složce controllers/a/ pak by se tato podložka projevila ve jmenném prostoru. 

 Pro podporu jmenných prostorů musí být vyhozen starý Kohaňácký nepořádek (*_Core a My_* třídy) a musí být přespán autoloader tříd. Navíc je taky nutné PHP 5.3 >, ale to by snad neměl být problém. 

 Jmenné prostory by se nakonec měli použít i mimo moduly. Celý základní FreenetIS by byl namespace \core s podnamespacem \system atd.

Zpět