NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 3 - Směrovač (router)

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
arnost99
Člen
Avatar
Odpovídá na David Hartinger
arnost99:22.1.2017 11:42

Díky, ten si klidně taky projdu, ale v této chvíli bych raději ocenil konkrétní radu a ne odkaz na zdroj :-) .Díky

 
Odpovědět
22.1.2017 11:42
Avatar
DREAMDEV
Člen
Avatar
DREAMDEV:13.3.2017 13:39

zdravim trochu som vylepsil tento MVC system ale mam tam jednu taku zahadu. Spravil som si funkciu na zasielanie emailov ak nahodov nastane na webe nejaka chyba. Obcas mi pride mail ktory hlasi ze v routri vo funkcii parseURL je chyba:

Error message: Undefined index: path
Error location: Router.php Ln: 43

coz mi pride ako keby $_SERVER['REQU­EST_URI'] nebolo nastavene moze sa stat ze by to nejako spustali roboti a preto REQUEST_URI nie je nastavene? alebo ako sa moze stat ze REQUEST_URI nie je nastavene?

 
Odpovědět
13.3.2017 13:39
Avatar
Daniel Horák:2.6.2017 5:56

Parádní tutoriál, díky!

 
Odpovědět
2.6.2017 5:56
Avatar
Jan Bartík
Člen
Avatar
Jan Bartík:12.8.2017 10:33

Mazec seriál na pochopení OOP v praxi . Aspoň teda doufám že tomu začínám rozumět :) . Vše funguje, tk doufám že to tak pujde i dál ...

 
Odpovědět
12.8.2017 10:33
Avatar
Radovan Škvor:24.10.2017 12:40

Ahoj, chci se zeptat z jakého důvodu je u metody zpracuj parametr pole?

 
Odpovědět
24.10.2017 12:40
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na Radovan Škvor
Lukáš Hornych:24.10.2017 13:56

Když v URL adrese budeš mít víc parametrů, tak se ti všechny naskládají do toho pole a ty pak s tím můžeš pracovat dál:

adresa.cz/parameter1/parameter2/parameter3/...
$parametry[0] = "parameter1";
$parametry[1] = "parameter2";
$parametry[2] = "parameter3";
...
 
Odpovědět
24.10.2017 13:56
Avatar
Odpovídá na Lukáš Hornych
Radovan Škvor:24.10.2017 14:44

To přeci není pravda, pole v parametru metody zpracuj neobsahuje nic jiného než URL adresu.

$smerovac = new SmerovacKontroler();
$smerovac->zpracuj(array($_SERVER['REQUEST_URI']));

je to takhle

$parametry[0] = "adresa.cz/parameter1/parameter2/parameter3/...";

teprve až metoda parsujURL rozdělí URL adresu na nazev kontroleru a parametry.

Pokud bych to udělala takto

$smerovac = new SmerovacKontroler();
$smerovac->zpracuj($_SERVER['REQUEST_URI']);

tak by v routeru stačilo toto a nemusel bych předávat URL adresu zbytečně přes pole

public function zpracuj($url)
{
        $naparsovanaURL = $this->parsujURL($url);

napadlo mě ještě že se budou předávat ještě nějaké další parametry které neobsahuje URL adresa ale to jsem si v článcích zadarmo nevšiml.

 
Odpovědět
24.10.2017 14:44
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na Radovan Škvor
Lukáš Hornych:24.10.2017 14:56

To bys sice mohl posílat jako string, ale musel bys to v každém dalším kontroleru zbytečně pořád dokola parsovat. Nemyslíš, že je proto lepší to předat jako pole jen tomu prvnímu, který si to naparsuje a pošle to ostatním kontrolerům jako pole parametrů a ty pak s těmi parametry můžeš pohodlně pracovat jako s polem? ;-)

 
Odpovědět
24.10.2017 14:56
Avatar
Odpovídá na Lukáš Hornych
Radovan Škvor:24.10.2017 15:19

Teď tě vůbec nechápu.
Pokud budu metodě zpracuj předávat adresu stringem v poli nebo pouze stringem není v tom přeci rozdíl, aplikace bude fungovat pořád stejně.

 
Odpovědět
24.10.2017 15:19
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na Radovan Škvor
Lukáš Hornych:24.10.2017 15:33

No tak přece když budeš předávat adresu stringem, tak v každém novém kontroleru si ji budeš muset rozkouskovat na jednotlivé parametry. Kdežto takhle ti to udělá ten první router a potom se o to už nemusíš starat.

 
Odpovědět
24.10.2017 15:33
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 109.