Autor | Zpráva | ||
---|---|---|---|
qteck Profil |
#1 · Zasláno: 11. 2. 2015, 14:34:10
AHoj,
chtělbychsiautoloadnout třídu: /control/default.php s namespace control. Přidal jsem do composer.json tyhlee řádky: "autoload": { "psr-0": { "Control": "control/" } } autoloadnul v indexu a pak tu třídu volám: $db = new Control\DB; Ale nešlape mi to. Pravděpodobně to bude blbě napsaný blbě v té definici v autoload. Něják tomu nerozumím. Našel jsem nějaké rozdílymezi PSR 0 a PSR 4. Byl bych vděčný kdyby mi s tím někdo pomohl. Díky moc. |
||
Jan Tvrdík Profil |
#2 · Zasláno: 11. 2. 2015, 15:01:00
qteck:
Tvůj kód nerespektuje ani PSR-0 ani PSR-4 standard (nastuduj si je ve svém volném čase), takže musíš použít obecný classmap autoloader: "autoload": { "classmap": ["control/"] } |
||
qteck Profil |
#3 · Zasláno: 11. 2. 2015, 15:19:33 · Upravil/a: qteck
Díky, takhle mi to jede:-). Jak to víš že nerespektuje? Mrknu na to.
Teď se mi vyskytla drobná chybka po definovaní namespace. Namespace Control; $db = new Control\DB; zavolám to. a vyhodí chybu že vytvářím instanci PDO vnamespace Control\PDO no atatamsamozřejmě není. Tak tak jsem tam přidal lomítko new \PDO domnívaje se že to bude šlapat ale: Class 'Control\PDO' not found Hloupá otázka, každopádně jsem tomuhle problému ještě nečelil :-))) Díky. ou, takjsem měl za to že jde o problém namespace. Ono to ale jen nemuže tu třídu DB najít. control/default.php -> class DB {} composer.json "autoload": { "classmap": ["control/"] } index.php require_once "vendor/autoload.php" $db = new DB; a výsledek : class DB nenalezena. teď mě ještě napadlo, jesli on to nehledá ve vendor? |
||
Časová prodleva: 10 let
|
0