NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Chyba nedefinovaná konstanta

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
martinkobelka
Tvůrce
Avatar
martinkobelka:2.2.2017 11:14

Zdravím, mám chybu, která nevím proč vznikla.
Chyba je ve funkci:

public function returnControler() {
                        $controller;
                        if($this->actualPage == "home") {
                                $controller = new Home();
                        }
                        return $controller;
                }

Na řádku:

$controller = new Home();

a zní

Notice: Use of undefined constant p - assumed 'p' in /home/martin/www/clas­ses/Smerovac.php on line 27

Poradil by mi prosím někdo jak to vyřešit?

 
Odpovědět
2.2.2017 11:14
Avatar
Pavel Jelínek:2.2.2017 14:44

Ahoj,

Nevím, ale tento typ záhad se snažím řešit eliminací možností. Takže bych v rámci pátrání rozdělil řádek

$controller = new Home();

na dva řádky

$home = new Home();
$controller = $home;

Pokud chyba nastane v tom prvním řádku, pak bych dal třeba ladící výpis (nebo return apod,) doprostřed konstruktoru, abych zjistil, zda k té "notice" došlo nad nebo pod tím ladícícm výpisem.

Kromě toho nechápu účel řádky

$controller;

?Nemá tam být spíš něco jako

$controller = null;

Protože - jestliže mně něco neuniklo - pokud se "if" neprovede, tato metoda by měla generovat notice "undefined variable $controller" - to asi není záměr autora. Co chceš, aby ta metoda vracela u jiných stránek, než "home" ?

Když mně napíšeš víc, zkusím Ti poradit.
Pavel

 
Nahoru Odpovědět
2.2.2017 14:44
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 2 zpráv z 2.