Avatar
Michal Žůrek (misaz):

Ahoj,
narazil jsem na problém autoloaderu. Nefunguje když poprvé nevytvářím objekt, ale volám statickou metodu. Nevíte někdo jak je to s tím?

Odpovědět 15.1.2014 14:15
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Žůrek (misaz)
Martin Konečný (pavelco1998):

Jak vypadá tvůj autoloader? Mně to funguje bez problému.

 
Nahoru Odpovědět 15.1.2014 14:23
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Michal Žůrek (misaz):

Zkoušel jsem dva:
varianta 1

function __autoload($class) {
    require_once("clases/$class.php");
}

varianta 2

function loadClass($trida) {
        require("clases/$trida.php");
}
spl_autoload_register("loadClass");
Nahoru Odpovědět 15.1.2014 14:26
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Žůrek (misaz)
Martin Konečný (pavelco1998):

Hm, tak v tom chybu nevidím. Co ti to hlásí? Máš ho vytvořený před tím, než používáš nějakou třídu?

Autoloader mám prakticky stejný a volání třeba Localization::DE­FAULT_LANGUAGE mi funguje bez problému.

 
Nahoru Odpovědět 15.1.2014 14:29
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Michal Žůrek (misaz):

Autoloader je úplně na začátku souboru index. Hodí mi to:

Fatal error: Call to undefined method xxx::yyy() in zzz.php on line 11
Nahoru Odpovědět 15.1.2014 14:31
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Žůrek (misaz)
Martin Konečný (pavelco1998):

Pak by to ale měla být chyba ve volání metody, ne v načtení třídy. To by pak hlásilo error, že neexistuje třída.

 
Nahoru Odpovědět 15.1.2014 14:34
Avatar
Odpovídá na Michal Žůrek (misaz)
Michal Maršálek:

Tak chyba je asi v tom, že "xxx" != "zzz".

 
Nahoru Odpovědět 15.1.2014 14:35
Avatar
Odpovídá na Michal Maršálek
Michal Žůrek (misaz):

xxx je stejné jako zzz chyba při nahrazování zástupných písmen, moje chyba.

Nahoru Odpovědět 15.1.2014 14:59
Nesnáším {}, proto se jim vyhýbám.
Avatar
Nahoru Odpovědět  +1 15.1.2014 15:23
Nesnáším {}, proto se jim vyhýbám.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.