NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 6 - Jednoduchý redakční systém v Nette - Výpis článku

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
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Honza67
Jindřich Máca:13.7.2015 12:15

To je dobrá otázka. :-) Vyplývá to částečně z toho, že PHP je dynamicky typovaný jazyk. Já tam tyhle use mám, jenom proto, že je uvádím v komentářích a moje IDE (PhpStrorm) je tam pak automaticky přidá, kvůli napovídání, typové kontrole atd.

Důležité je, že v kódu, jako takovém, nikde použity nejsou a právě díky tomu a dynamickému typování to bude fungovat i když je tam explicitně neuvedu. ;-)

 
Odpovědět
13.7.2015 12:15
Avatar
Honza67
Člen
Avatar
Honza67:13.7.2015 14:18

Děkuji za odpověď, a chtěl jsem tě ještě poprosit jestli bys nemohl (pro všechny začínající v nette) ,pokud v kódech dalších dílů použiješ nějakou anotaci, která není jen komentářem, alespoň stručně objasnit co a jak dělá. Myslím si, že nám to pak určitě zkrátí dobu učení když nebudeme muset hledat co je vlastně jen komentář a co je důležitá součást kódu, bez které se např. nějaká metoda vůbec neprovede..Vypadá to, že do tohodle dílu tam naštěstí žádná taková anotace není. Snad se nepletu :-).

 
Odpovědět
13.7.2015 14:18
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Honza67
Jindřich Máca:13.7.2015 14:30

V podstatě nejpoužívanější důležitá anotace v Nette je @inject a ta zde doposud použita nebyla. :-) Každopádně až jí, či nějakou jinou použiju, určitě k tomu napíšu poznámku, minimálně v článku pod kódem. Ostatně tak to dělám vždy, ke všemu důležitému nebo zajímavému, to se neboj. ;-)

Jinak obecně k mazání komentářů přeci není žádný důvod a pokud Ti něco nefunguje, můžeš si vždy stáhnout originální kód v archivu pod článkem nebo se zeptat zde v komentářích. ;-)

Editováno 13.7.2015 14:32
 
Odpovědět
13.7.2015 14:30
Avatar
Honza67
Člen
Avatar
Honza67:13.7.2015 14:48

Dobře. Děkuju a těším se(a určitě ne jen já) na dlouhé pokračování seriálu..:-)

 
Odpovědět
13.7.2015 14:48
Avatar
apincik
Člen
Avatar
Odpovídá na Samik11
apincik:15.7.2015 12:21

Tiež som spájal modely logicky niekedy ale pri väčšom projekte to je hnus, oveľa lepšie je mať model pre každú tabuľku :)

 
Odpovědět
15.7.2015 12:21
Avatar
apincik
Člen
Avatar
apincik:15.7.2015 12:28

Ešte k tomu modelu, v práci som sa dostal k pomerne čistému riešeniu, v base class modelu sa využívala __call metóda a na základe toho sa volali ostatné metódy, názov tabuľky atď sa doplnili, nemusíš v každej odvodenej triede manager, article .. písať getManager, getArticle. Pri pár volaniach to nespomalí kód a ušetríš si aj písanie.

GetArticle s parametrom by som konvečne nazval getArticleByXXX :) A getArticles, niekto bude chcieť ASC zoradenie tak si bude musieť prepísať tú metódu, moc znovupoužiteľné mi to nepríde :) zas volať order na objekte v presenteri tiež nieje bloody clear ale to už je na každom :)

 
Odpovědět
15.7.2015 12:28
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na apincik
Jindřich Máca:15.7.2015 13:36

Ano, metoda by se měla spíše getArticleBy** a *getArticles by v rámci znovupoužitelnosti měli mít na výběr ve způsobu řazení. I když jsou to detaily, tak budiž, pak to opravím. :-) A samozřejmě díky za připomínky. ;-)

Co se týče použití metody __call, ano je to způsob řešení, ale jelikož je tohle tutorial spíše pro začátečníky, radši bych se držel standardního jednoduchého způsobu a tyhle vychytávky bych si nechal třeba na později. ;-)

 
Odpovědět
15.7.2015 13:36
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Jindřich Máca
Jindřich Máca:20.7.2015 1:23

Tak jsem o tom ještě přemýšlel a nakonec to nechám tak, jak to je, s tím, že to důležité je uvedeno zde v komentářích. ;-)

Věc se má asi takhle, metoda getArticles je zde pouze na ukázku a nikde se znovu používat nebude a přejmenování getArticle na *getArticleBy** je pouze kosmetický detail, který lze napravit v dobrém IDE do pár sekund. Na druhou stranu, já bych to musel měnit nejen zde, ale i ve všech následujících článcích s tím, že pokud už to má někdo naprogramované popř. stažené, tak mu to přestane fungovat jen kvůli přejmenování metody a on bude muset pracně dohledávat proč...

Tímto se tedy omlouvám a děkuji za pochopení! :-)

 
Odpovědět
20.7.2015 1:23
Avatar
pepapavlik
Člen
Avatar
pepapavlik:20.7.2015 23:09

Ahoj,

mám jen takovou menší otázečku.

v článku se píše:

" Nám zde bude stačit vytvořit si novou databázi, kterou použijeme pro náš projekt, a v ní spustíme upravený SQL skript, který opět naleznete v archivu pod názvem create_script.sql. Jeho obsah je následující: "

(... OBSAH SKRIPTU...)

dále je pak

"Ten nám vytvoří a naplní tabulku s články, kterou budeme příště potřebovat. A nakonec nastavíme v Nette přístup do naší databáze."

A mě jen zajímá, jak tedy ten skript spustit, aby se vytvořily ty tabulky? Možná je to již někde napsáno, a já to nějako přehlédl...

 
Odpovědět
20.7.2015 23:09
Avatar
Odpovídá na pepapavlik
Martin Konečný (pavelco1998):20.7.2015 23:12

Ahoj,

ve článku je uvedeno, že se script nachází v souboru 'create_script.sql' v přiloženém archivu.
Mělo by v tom případě stačit ten soubor nahrát třeba pomocí adminera nebo phpmyadmin :) (tzv. import)

Odpovědět
20.7.2015 23:12
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
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 105.