IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 9. diel - Tvorba formulárového frameworku v PHP - HtmlBuilder

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
Avatar
rosatislav
Člen
Avatar
rosatislav:19.5.2014 21:07

Zdravím, chtěl bych se zeptat proč u funkce *

function addValueElement($name, $value, $htmlParams = array(), $doNotEscape = false)
{
        $this->startElement($name, $htmlParams, true);
        $this->addValue($value, $doNotEscape);
        $this->endElement();
}
  • dáváte funkci startElement ještě navíc "true", když se do ní mají dát jen hodnoty "$name a $htmlParams "
Editované 19.5.2014 21:08
 
Odpovedať
19.5.2014 21:07
Avatar
Jiří Fabšic:16.6.2017 10:41

Ahoj, asi jsem nedával pozor při tutoriálech základů, ale co znamená přiřazení s tečkou?

.=

přiřazení se třeba hojně objevuje tady:

private function renderElement($name, $htmlParams, $pair)
{
        $this->html .= '<' . htmlspecialchars($name);
        foreach ($htmlParams as $key => $value)
        {
                $this->html .= ' ' . htmlspecialchars($key) . '="' . htmlspecialchars($value) . '"';
        }
        if (!$pair)
                $this->html .= ' /';
        $this->html .= '>';
        if ($pair)
                array_push($this->elementStack, $name);
}

Díky za vysvětlení,
Jirka

 
Odpovedať
16.6.2017 10:41
Avatar
Odpovedá na Jiří Fabšic
Martin Konečný (pavelco1998):16.6.2017 11:19

Ahoj,

pomocí tečky v PHP spojuješ řetězec (třeba jako v javascriptu plusem), přidání operátoru před 'rovná se' je pak jen kratší zápis:

$string = "řetězec";

$string = $string . " připojený text";

// kratší zápis
$string .= " připojený text";
Odpovedať
16.6.2017 11:19
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Aleš Kopecký:26.5.2018 15:28

Navrhoval bych u metody endElement() ještě před přidáním řetězce do $html kontrolu, zda je něco v $name, protože elementStack může být prázdný a potom by metoda přidala jen '</>.
Třeba nějak takto:

public function endElement($name = null){
        if( ! $name){
            $name = array_pop($this->elementStack);
        }
        if(empty($name)){
            throw new Exception('No element opened for closing.');
        }
        $this->html .= '</' . htmlspecialchars($name) . '>';
    }
 
Odpovedať
26.5.2018 15:28
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.

Zatiaľ nikto nevložil komentár - buď prvý!