Dle testů jsem zjistil, že ověřování přes strpos je mnohem rychlejší, než pomocí is_file. Je tedy moudré ke všem třídám, které mám ve složce model nebo helpers připojit nějakou koncovku? Třeba mojeTrida.model.php či mojeTrida.helper.php?
Popřípadě, jak zrychlit můj autoloader? Už mě nic nenapadá. Děkuji za případnou pomoc.
#1Facedown
Dělám to tak, že mé controllery mají koncovku "_POST.php" a viewery koncovku "_GET.php". Přesně podle toho, která metoda byla použita při volání.
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Aha, to je zajímavé řešení, ale zdá se mi relativně složité. Viewery mě netrápí, ty já nepotřebuji volat pomocí autoloaderu.
S tou první podmínkou v autoloaderu jsem relativně spokojen, jen mě trápí ty zbylé dvě, respektive jedna. Takže podle tebe je tedy lepší každý daný soubor zakončit nějakou koncovkou?
Mám controller, ve kterém si definuji view. Potom se daný controller automaticky volá dle předané url a s ním se taktéž zavolá require na daný view.
Základy, na kterých mi to běží nehodlám v nejbližší době měnit. Prozatím mi vyhovují. Mě by spíš zajímal pouze ten autoLoader. Tedy, jestli je správný způsob soubor zakončit nějakou koncovkou či ne.
#5Facedown
... a ještě něco: Všechny soubory, které obsahují interface, končí příponou "able.php". Tedy např. Selectable.php, Authenticable.php, Reportable.php apod.
Mé controllery se o viewery vůbec nezajímají. Není to jejich povinnost.
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Ok, díky. Nemáš náhodou někde část ukázkového kódu, jak máš složený MVC, třeba na GitHubu, nebo něčem podobném, prosím? Zajímalo by mě, jak to udělat lépe.
Zbytek se volá přes autoloader. Funkce factory() jen zkombinuje slova z URL a typu metody GET/POST, vyrobí z toho název třídy, ze které udělá instanci a v konstruktoru jí předá model, se kterým má pracovat. Samozřejmě to mám ošetřeno proti útokům, tady je to dost zjednodušeno.
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.