Popravdě z toho celýho mám velmi smíšené pocity... celkem pěkně a kvalitně jsem implementoval API na jedné přepravní služby, která projevila zájem o další spolupráci, dokonce se jim i ten kód líbí, nicméně já si pořád připadám tak nějak blbě, protože jsem si do svýho celkem pěknýho kódu přenesl část cizího bordelu.
Jinak celej OpenCart mi přijde jako slepenec práce několika lidí, kteří vůbec neměli tušení, co že vlastně dělají, každej si napsal svůj kousek podle zadání a někdo to potom bezmyšlenkovitě poslepoval dohromady. Výsledkem je nepochopitelnej mix OOP, PP a čehosi mezi tím.
Co se týče architektury, je to celkem logicky rozdělený na controller, model, view a language. Systém language je celkem zvláštní, ale budiž, model vypadá většinou celkem úhledně, view jsou tpl šablony, tomu není moc co vytknout, jenom v controlleru člověk kolikrát narazí na neuvěřitelný věci.
Co se týče hlavičky jako takové, ta je celkem v pohodě, ale za ní následují breadcrumbs, nějaký další mačkátka, pokud se používají a to je už lepený v controlleru pokaždá znova, aneb ideální kaditáti na osamostatnění. Další zajímavá věc je načítání dat pro formuláře, ukázka:
if (isset($this->request->post['weight_sort_order'])) {
$data['weight_sort_order'] = $this->request->post['weight_sort_order'];
} else {
$data['weight_sort_order'] = $this->config->get('weight_sort_order');
}
v některých případech je místo else ještě elseif a až potom else, kde se přiřadí třeba $blabla=''; jako default, když není nic jinýho. Z toho by šlo určitě udělat krásnou funkci a tu pak používat na jednom řádku místo 5-7
$cosi=getValue('nazevGet','nazevConfig','default');
Tohle celý je třeba 20x za sebou při načítání formuláře a ve výsledku když to projde funkcí validate(); tak se to odešle jako array do nějakých systámových funkcí na uložení nebo kdoví co.
Jak to tu píšu a přemýšlím nad tím, tak refaktorovat se bude, protože tohle je prostě napřesdržku.
Děkuji za rady
PS pro Kit: na 5-10k řádek by se to asi dostávalo blbě