Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 4. diel - Prepojenie kontroleru a pohľadu

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
MArtin
Člen
Avatar
Odpovedá 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.

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

Avatar
Odpovedá 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).

Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovedá 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';
Avatar
Odpovedá 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];

Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovedá 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.

Avatar
Odpovedá 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ě

Odpovedať
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ě..

Odpovedať
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.

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.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 150.