Autor | Zpráva | ||
---|---|---|---|
Willy Profil * |
#1 · Zasláno: 8. 1. 2012, 21:04:05
Dobrý den, je možné udělat autoload pomocí jmenných prostorů? Například pokud mám třídy MVC\Controller\Blog, MVC\Model\Blog a MVC\Library\Mysql, tak bych chtěl aby bylo možné zadáním například: include(Controller\Blog); načíst soubor umístěný v localhost/app/controller/blog.php, ale zadáním include(Library\Mysql); se načte soubor umístěný v localhost/library/mysql.class.php. Děkuji předem za odpovědi.
|
||
Bertram Profil |
#2 · Zasláno: 8. 1. 2012, 21:26:44
Willy:
Ahoj, nebude lepší, když už si s tím budeš muset dát tu práci, to naprogramovat tak, aby jsi žádné include/require nemusel používat? |
||
Willy Profil * |
#3 · Zasláno: 8. 1. 2012, 21:34:03
Například, že bych vytvořil metody loadController(), loadLibrary()? Je to z hlediska PHP správné a nemůže to sebou nést nějaké nevýhody?
|
||
Tori Profil |
#4 · Zasláno: 8. 1. 2012, 21:40:02
Willy:
„Například, že bych vytvořil metody“ ... anebo použil existující (funkce __autoload, nebo spíš doporučovaná spl_autoload_register) |
||
Bertram Profil |
#5 · Zasláno: 8. 1. 2012, 21:43:01 · Upravil/a: Bertram
Zrovna se v tom také vrtám, jestli chceš, tak se nahlédni na Kritika AutoLoaderu
A pokud budeš dodržovat to, že namespace bude korespondovat s názvy adresářů a jméno souboru bude totožné s názvem třídy, tak to půjde jednodušeji. |
||
Časová prodleva: 11 let
|
0