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

Diskusia – PHP: Prezentácia stromovej štruktúry z databázy

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
martinkobelka
Tvůrce
Avatar
martinkobelka:25.8.2012 14:31

Já jsem si myslel, že už alespoň trochu programovat umím, a přitom vůbec nevím nic o xslt nebo pdo

 
Odpovedať
25.8.2012 14:31
Avatar
Kit
Tvůrce
Avatar
Odpovedá na martinkobelka
Kit:25.8.2012 18:48

PDO je zatím dost neznámé, protože ještě není v učebnicích. Podle mne je to vydařený kus kódu, který částečně nahrazuje tolik opěvované a proklínané ORM. Na ovladače mysql_*, pg_* a sqlite_* je dobré zapomenout, PDO obsahuje ovladače tuším k 12 databázím v daleko vyšší kvalitě, než ty předchozí.

XSLT je pro začátečníka dost obtížné, protože není jednoduché se prokousat dostupnými tutoriály. Všude samé deklarace, bez kterých to nejede a začátečník se v tom snadno ztratí. Kromě toho je to úplně jiný styl programování, např. hodnotu proměnné lze nadefinovat pouze 1× a pak ji už nelze měnit. Tuto poučku jsem si zvykl aplikovat i v ostatních jazycích.

Odpovedať
25.8.2012 18:48
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
martinkobelka
Tvůrce
Avatar
martinkobelka:26.8.2012 11:56

Tak já to asi zabalim. To bych nad tím přemýšlel až fo skonání světa.

 
Odpovedať
26.8.2012 11:56
Avatar
Kit
Tvůrce
Avatar
Odpovedá na martinkobelka
Kit:26.8.2012 12:09

Nad čím? Nad PDO nebo nad XSLT?

Pokud máš alespoň malé základy v Lispu, tak se logika XSLT dá pochopit. A Lisp by se měl naučit každý programátor, i když v něm nikdy nenapíše žádnou aplikaci. Jednou provždy změní jeho náhled na programování.

Odpovedať
26.8.2012 12:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
martinkobelka
Tvůrce
Avatar
Odpovedá na Kit
martinkobelka:26.8.2012 12:12

Já se snažím vše učit postupně a pořádně. Objekty ještě pořádně neumim, a snažím se to přepsat do "jednoduchého kodu" bez šablonování, bez pdo, a bez objektů, protože je ještě neumím. začnu tím, že si napíšu sql dotaz, výsledek uložím do pole, a pak začnu psát cyklus pro výpis, a tady jsem před dvěma dny skončil, a pokračování vymýšlím včera a dneska.

 
Odpovedať
26.8.2012 12:12
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na martinkobelka
David Hartinger:26.8.2012 12:13

Stromovou strukturu fóra uděláš i bez Lispu, XSLT, PDO a všeho ostatního. Musíš jen umět programátorsky myslet, pracovat s kolekcemi a znát rekurzi. Byla to jedna z prvních věcí, co jsem si v PHP napsal a to jsem v něm neuměl skoro nic, skoro nic k tomu totiž nepotřebuješ.

Tím neříkám, že je Kitův způsob špatný, ale je to poněkud pokročilejší.

Odpovedať
26.8.2012 12:13
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:26.8.2012 12:27

Souhlasím, dá se to udělat i bez vychytávek. Dokonce se to dá udělat i bez rekurze, ale je to obtížnější.

Do toho kódu jsem dal to nejlepší, co z PHP znám. Snažil jsem se využít ty nejsilnější stránky každého jazyka (SQL, PHP, XSLT a CSS), zjednodušit to na minimum a spojit to do jednoho funkčního celku. To však ještě neznamená, že to nejde jinak.

Odpovedať
26.8.2012 12:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
martinkobelka
Tvůrce
Avatar
martinkobelka:26.8.2012 12:58

Tak už jsem si napsal funkci, který mi bude data vypisovat, teď pro ni musím ještě data vytvořit. Snad to konečně klapne.

function vypis($seznam){
    echo "<ul>\n";
    foreach($seznam as $vypis){
        if(is_array($vypis)){
            vypis($vypis);
        }
        else{
            echo "<li>$vypis</li>\n";
        }
    }
    echo "</ul>\n";
}
 
Odpovedať
26.8.2012 12:58
Avatar
Kit
Tvůrce
Avatar
Odpovedá na martinkobelka
Kit:26.8.2012 13:11

To vypadá dobře. Jen bych místo

vypis($vypis);

dal

echo "<li>";
vypis($vypis);
echo "</li>";

aby se to správně zanořovalo.

Odpovedať
26.8.2012 13:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
martinkobelka
Tvůrce
Avatar
Odpovedá na Kit
martinkobelka:26.8.2012 14:02

Na vybírání dat se ale pořát držím na dvou úrovních. Nemůžu se dostat přes další úrovně.

 
Odpovedať
26.8.2012 14:02
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ý!