NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Lekce 4 - Propojení kontroleru a pohledu

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
MArtin
Člen
Avatar
Odpovídá na MArtin
MArtin:2.11.2015 15:35

David odporuca globals nepouzivat, tak by ma zaujimalo, ako to urobit bez globalnej premennej, tak aby som nemusel kvoli tomu pridavat dalsi atribut.

 
Odpovědět
2.11.2015 15:35
Avatar
Vít Cigánek:10.11.2015 20:41

Mam dotaz, jestli chápu dobře, tak tenhle kus kódu udělá.

$tridaKontroleru = $this->pomlckyDoVelbloudiNotace(array_shift($naparsovanaURL)) . 'Kontroler';

ze promena

$naparsovanaURL

prijde o prvni prvek pole... a pak zbyde jenom prvek pole s indexem 1

 
Odpovědět
10.11.2015 20:41
Avatar
Odpovídá na Vít Cigánek
Martin Konečný (pavelco1998):10.11.2015 20:51

Se podívej do manuálu, co array_shift() dělá :D Odebere první prvek pole a vrátí ho (tzn. se v tomto případě použije jako parametr metody).

Odpovědět
10.11.2015 20:51
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Vít Cigánek:10.11.2015 21:00

To jsem pochopil, akorát jsem myslel že to nebude fungovat takhle:

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>

output

Array
(
[0] => banana
[1] => apple
[2] => raspberry
)
ale takkhle

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>

output

Array
(
[0] => orange
[1] => banana
[2] => apple
[3] => raspberry
)

s tím že

$fruit = 'orange';
 
Odpovědět
10.11.2015 21:00
Avatar
Odpovídá na Vít Cigánek
Martin Konečný (pavelco1998):10.11.2015 21:36

No $fruit = 'orange', protože to byl první prvek v poli, který se z něj odstranil a vrátil (zde uložil do proměnné $fruit).
Jestli chceš jen získat první prvek v poli, stačilo by $fruit = $stack[0];

Odpovědět
10.11.2015 21:36
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Vít Cigánek:10.11.2015 21:39

Já už vím. Ale díky. Teď řeším tenhle článek http://www.itnetwork.cz/…eceni-sablon . Vůbec tomu nerozumím. Nebo spíše myšlence rozumím, ale v kódu se ztrácím.

 
Odpovědět
10.11.2015 21:39
Avatar
Odpovídá na Vít Cigánek
Martin Konečný (pavelco1998):10.11.2015 22:16

Tam metoda osetri() ochrání proměnnou proti XSS. Když se tam hodí pole, metoda projede všechny jeho prvky (a pokud jsou tam další pole, tak rekurzivně) a ošetří je postupně.
Metoda extract() pak z klíčů pole udělá proměnné (viz php.net), které můžeš použít v šabloně

Odpovědět
10.11.2015 22:16
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
jAk3r
Člen
Avatar
jAk3r:4.1.2016 21:18

Proč mě to háže Internal error 500 a když mrknu do logu háže mi to chybu na

PHP Fatal error:  Call to undefined method SmerovacKontroler::presmeruj() in /home/users/jakercz/inspire-gaming.g6.cz/web/kontrolery/SmerovacKontroler.php on line 47

Tak to nechápu... co s tím je špatně..

Odpovědět
4.1.2016 21:18
Pokud něčeho chceš dosáhnout, musíš si za tím jít.
Avatar
dusekpetrcb
Člen
Avatar
dusekpetrcb:7.2.2016 20:14

Ahoj, mám zvídavý dotaz. Errorovou stránku mám na error.phtml s kontrolerem ErrorController. Všechno funguje, jak má, až na jednu výjimku. Když jsem uživatel-filuta a zadám localhost/error/pa­rametr. Potom se to zboří a jde to na klasickou chybu 404 Objekt nenalezen přímo v rámci prohlížeče (mimo moje rozhraní). A když zadám localhost/error/ (s lomítkem na konci), jde to na chybu 403 Přístup odmítnut. Asi tam mám někde chybu, nepřipadá mi to jako očekávané a správné chování. Má někdo nápad, čím by to mohlo být?

Díky.

 
Odpovědět
7.2.2016 20:14
Avatar
Štefan
Člen
Avatar
Štefan:17.7.2016 20:49

Zdravím.
Ak som dobre pochopil, tak na to aby sa zmenil "pohlad" potrebujem mat príslušný kontroler. Čo ma však zaráža a trápi dosť dlho je táto vec: tlačidlo "Úvod" som premenoval na Domov (aj samotný odkaz v kóde som pozmenil), v súbore SmerovacKontroler som prepísal riadok, v ktorom sa má určovať "pohlad", ktorý sa načíta ak nie sú zadané žiadne parametre ->

if (empty($naparsovanaURL[0]))
        $this->presmeruj('domov');

Samozrejme som vytvoril príslušný .phtml súbor a DomovKontroler, v kt. mám uvedený príkaz na zmenenie pohľadu ->

<?php
class DomovKontroler extends Kontroler
{
    public function spracuj($parametre)
    {
        $this->hlavicka['titulok'] = 'Domov';
        $this->pohlad = 'domov'
    }
}

Problém je ten, že po spustený alebo kliknutí na tlačidlo "Domov" mi neustále stránka vypíše chybu 404 :-(
Prosím navrhnite nejaké riešenie alebo mi aspoň poskytnite radu.
Za akúkoľvek odpoveď vopred ďakujem.

 
Odpovědět
17.7.2016 20:49
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 150.