Struktura Nette – vysvětlení pro začátečníky

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Matěj
Člen | 14
+
0
-

Zdravím, jsem tu nový, snažím se pochopit jak vlastně nette funguje. Běžně zde používáte hromadu termínů, jako továrnička, presenter, šablona, modul.. k tomu ta adresářová struktura… pro začátečníka je docela kumšt se v tom zorientovat. Jednotlivé části jsou sice popsány podrobně v dokumentaci, ale jak se v tom má nováček vyznat… chtělo by to možná vytvořit něco jako Nette mapu, výstižný krátký článek, který to popisuje (třeba s odkazy na souvicející kapitoly v dokumentaci) pochopitelný pro laiky. Nebo jestli by to šlo shrnout pár větama, můžete i zde, myslím že by to bylo užitečné nejenom pro mě. Možná by to vedlo k lepším návykům, kdyby začátečník věděl kde co, a nemusel pracně zkoušet po různu kde jak věci nějak nabastlit.

Co na to říkáte, Guruové? Je to zbytečnost, a komu to není zřejmé ze stávající dokumentace, tak na to prostě nemá, a neměl by si radši s Nette začínat? Popřípadě co byste takovému člověku doporučili? Jak jste se učili Nette vy?

Draffix
Člen | 146
+
0
-

Dokumentace, videa, návody atd. Chce to nějaký ten čas se v tom zorientovat, ale není to zase takový problém. Chce to jenom zkoušet a „ošahat“ si to. Nicméně považuji dokumentaci za kvalitní a příklady se dají lehce použít a to mluvím jako začátečník, s Nette dělám teprve něco přes půl rok a také sem se učil úplně od základu.

Šaman
Člen | 2666
+
0
-

Zprovozni si Sandbox a pak tě budou zajímat jen dva soubory: app/presenters/HomepagePresenter.php (metoda renderDefault()) a šablona app/templates/Homepage/default.latte.
V té šabloně vymaž všechno mezi prvním {# content} a posledním {/#} a všechen kód šablony piš mezi tato makra.

V tom presenteru je už ukázáno,jak předáváš proměnné do šablony. S tím si zezačátku vystačíš. Ukázka formulářů je v QuickStaru (jsou v něm drobné chyby, jako že nikdo neví hesla co jsou v db, ale jako ukázka je dobrý).

Moduly hned tak potřebovat nebudeš, továrničky ti zatím stačí obyčejné (návrhový vzor FactoryMethod, nesouvisí s Nette), presentery (jinde se jim říká controlery) a šablony jsou základní pojmy MVC/MVP. Opět to přímo nesouvisí s Nette.

Řeknu ti jednoduché pravidlo. Dokud nebudeš něco z toho potřebovat, tak programuj v presenterech. Je to pořád lepší (z mnoha hledisek) než programovat bez frameworku. Za chvíli ti začne dávat smysl QuickStart a zjistíš, že Nette nabízí spoustu věcí, které ti zpříjemní vývoj.

Editoval Šaman (20. 3. 2013 23:28)

romiix.org
Člen | 343
+
0
-

Matěj napsal(a):

Rozhodne som mal takéto myšlienky aj ja keď som s Nette začínal. Ono je to ale začarovaný kruh. Keď som pochopil ako Nette funguje do takej úrovne že by som to vedel sprostredkovať ďalej, tak už sa mi terajšia dokumentácia zdala v poriadku – dostačujúca.
Podla mňa by bolo ideálne, aby spísal nejaký total „proforma“ text úplný nováčik z toho ako (ne)pochopil základnú dokumentáciu. S týmto textom by sa už dalo pracovať a rozpísať/korigovať texty zbehlými Nettistami.

Matěj
Člen | 14
+
0
-

děkuji všem za reakce, ale romiix.org To trefil.

Začarovaný kruh. Prostě je toho docela dost, a když se v „Píšeme první aplikaci“ víceméně předpokládá znalost těchto termínů a souvislostí, je to pak těžký pochopit.. U mě je to navíc komplikované tím, že se s OOP PHP vidím poprvé, (v PHP jsem dělal dosavadně jen s funkcema) takže je to úplně jiné na přemýšlení o tom jak postavit aplikaci. Ze začátku to bolí.

Až se v Nette trošku zorientuji, tak se to možná pokusím nějak polopaticky sepsat sám, (vysvětlování a doučování naprostých blbečků mě myslím docela jde), ale teď mě příšerně tlačí čas, a potřebuju z toho Nette vymáčknout co nejvíc. ACL, formuláře, databáze, výpisy, z toho poslepovat homepage, … no, je to makačka. Rozhodně lepší ale než to psát celý bez Frameworku. Věřím, že co věnuju energie a času navíc do pochopení tohoto všeho se mě násobně vrátí v budoucnosti.

PS. O Nette se pokouším 3 týdny.

Editoval Matěj (20. 3. 2013 23:03)

Tori
Člen | 32
+
0
-

Matěj napsal(a):
Až se v Nette trošku zorientuji, tak se to možná pokusím nějak polopaticky sepsat sám, (vysvětlování a doučování naprostých blbečků mě myslím docela jde)

Radši si to pište hned, jak na něco přijdete, něco pochopíte. Klidně jen v poznámkovém bloku. Až to budete sám chápat, tak nebudete mít důvod něco sepisovat, nebudete si pamatovat každou drobnost, na kterou jste nemohl najít řešení. Nemusí to být nijak strukturovaný text, klidně jen prostě stručné poznámky, co vás k tomu napadlo; jak se třeba v config.neon napíše něco, co jste nevěděl hned intuitivně udělat správně; čemu ještě nechápete jak funguje, …

Já měla přesně tohle s PrestaShopem (který má navíc občas dost blbě pojmenované metody/proměnné). Teď chápu rámcově, jak PS funguje, a najdu si v kódu co potřebuju. Ale kdybych to měla někomu přesně vysvětlovat, tak bych musela znova procházet x tříd/metod a zkoumat co dělají. Naštěstí jsem si ty poznámky dělala.

Matěj
Člen | 14
+
0
-

Tori: To není špatný nápad. Zatím co mě jako naprostého začátečníka potrápilo (a pak jsem zjistil že to jsou běžné, časté a opakující se problémy), jsou věci jako: .htacces, mazání tempu, práva k zápisu temp/log, aktivace laděnky… věci bez kterých Nette nemůže pořádně šlapat.. nevím, možná jsem ale přehlídl nějakou kapitolu v článku o instalaci.

Šaman
Člen | 2666
+
0
-

Na localhostu, třeba když si nainstaluješ XAMPP není problém. Nakopíruješ Sandbox a funguje.
A problémy s hostingama, to není práce pro nettistu, ale pro správce serveru. Učení se rozhodně doporučuji na localhostu. XAMPP mám odzkoušený (doporučuji instalovat jako službu, pak nedochází k výjimečným kolizím se Skype). Pokud si server připravuješ sám, pak musíš i vědět, jak správně připravit hosting pro Nette aplikace.

Jinak na rychlý test jak je na tom tvůj server použij Requirement-Checker v adresáři Tools distribuce Nette. Pokud je zelený a jen občas žlutý, no problem. Červené problémy musíš nejprv na serveru překonfigurovat.

Matěj
Člen | 14
+
0
-

Však jo, teď už tohle všechno vím.
Nechci aby to vyznělo, že je nette blbý nebo tak, jen jsem chtěl upozornit, že některé věci se tu řeší docela často, a že by na ně mohlo být upozorněno na viditelnějším místě.

Jen poznámka: když dělám web, tak mě zajímá jak bude fungovat na serveru, a ne u mě na XAMPP localhostu…

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Cca 2 roky jsem programoval (od úplných základ „co je to proměnná?“), než jsem začal s Nette. Pak mě čekalo dlouhé období učení se samotného Frameworku. Pochopitelně že se dělá vše pro to, aby naprostý začátečník s Nette měl cestu co nejsnazší. Ale měl tu být i článek o tom, jak funguje objektový model? Co je to htaccess? Co je to cyklus? Jak daleko jít?

Co se týče běžně používaných pojmů jako modul, presenter, továrnička, přímo na stránce dokumentace je Slovníček pojmů :). Někdy je ale opravdu třeba se zpětnou reflexí vyhodnotit, jestli by nějaká podrobnější dokumentace pomohla, anebo jestli taky v dané fázi (úrovni schopností) není lepší některé informace hledat na vhodnějších místech než na doméně nette.org.

Matěj
Člen | 14
+
0
-

vojtech.dobes: Máš pravdu… vy hoši (i holky) máte svatou trpělivost.. Tady není to hned samé UTFG, RTFM apod. Toho si cením. Prostě jsem si vzal velký sousto, a málem jsem se s ním udusil, ale je to v pořádku, už to začínám trávit.

pořád si ale říkám, že v tom určitě nebudu sám… a možná, až se „naučím plavat“ napíšu článek (návod), který mě tu chyběl, když jsem začínal, možná něco jako rozcestník. Člověk (teda pokuď mluvím o sobě) nemá šanci hned pojmout vše co na nette.org je. (třeba o tom slovníčku jsem nevěděl :D, a chvíli mě trvalo, než jsem našel že jsou na planette šikovné kuchařky, apod.. )

Editoval Matěj (22. 3. 2013 16:05)

cujan
Člen | 410
+
0
-

ja osobne som pochopil celu situaciu na priklade co su vlozene v NETTE, konkretne cd-collection…
ak budes mat problem, sice nie som nejaky guru ale co to som uz pochopil, tak ma kludne kontaktuj…

Editoval cujan (25. 3. 2013 20:29)

Draffix
Člen | 146
+
0
-

Ono by se také hodilo říci, že framework slouží „pouze“ jako nástroj a pomůcka pro programování. Takže udělat něco ve smyslu „for absolutelly dummies“ mi také nepřijde zrovna to nejlepší. Myslím si, že momentální dokumentace je zlatá střední cesta. Mimochodem také nemám rád, když se někdo furt ohání nějakými zkratkami…

Dismember
Člen | 50
+
0
-

ahoj, docela chápu potíže Matěje a stejně tak mám problémy. Zejména s laděním chyb, protože vážně nemám rozsáhlé zkušenosti s Nette.
Byl jsem se i podívat na kurz přímo za Davidem, jenže ty dva dny byly pro mě jako začátečníka docela hardcore.
V Quickstart jsem se třeba sekl a nejsem schopen vyřešit jeden problém…
tak jsem se díval po dalších návodech, kde bych mohl pokračovat a našel jsem toho:
Statický web v Nette
Návod jak vytvořit blog
Slovenský Nette seriál
Což by mohlo být docela nápomocné.

Dříve jsem trochu pracoval s CodeIgniter a tutoriály a různé návody, které leží na netu nebo na youtube jsou super. Dělal jsem podle tutoriáu NetTuts a šlo to krásně.

Máte tipy na nějaké další návody, videotutoriály pro Nette? :-)
Díky

Šaman
Člen | 2666
+
0
-

Kde ses sekl v QS? To je zrovna kapitola, která by měla být popsaná co nejvíce pro začátečníky, takže jestli máš zásek, napiš to sem, pls.
Mám čerstvě práva na editaci a na QS si už delší dobu brousím zuby, tak to mohu opravit/objasnit přímo tam.

Dismember
Člen | 50
+
0
-

Šaman napsal(a):

Kde ses sekl v QS? To je zrovna kapitola, která by měla být popsaná co nejvíce pro začátečníky, takže jestli máš zásek, napiš to sem, pls.

Díky za ochotu. Založil jsem si tady vlákno . Nahrál jsem ten svuj balíček na google drive, takze je tam odkaz.

Skončil jsem asi někde u navigace

Jakožto začátečníkovi u Nette (a obecně u OOP) mi ladění chyb dělá dost potíže…

vosy
Člen | 532
+
0
-

Dismember napsal(a):

ahoj, docela chápu potíže Matěje a stejně tak mám problémy. Zejména s laděním chyb, protože vážně nemám rozsáhlé zkušenosti s Nette.
Byl jsem se i podívat na kurz přímo za Davidem, jenže ty dva dny byly pro mě jako začátečníka docela hardcore.
V Quickstart jsem se třeba sekl a nejsem schopen vyřešit jeden problém…
tak jsem se díval po dalších návodech, kde bych mohl pokračovat a našel jsem toho:
Statický web v Nette
Návod jak vytvořit blog
Slovenský Nette seriál
Což by mohlo být docela nápomocné.

Dříve jsem trochu pracoval s CodeIgniter a tutoriály a různé návody, které leží na netu nebo na youtube jsou super. Dělal jsem podle tutoriáu NetTuts a šlo to krásně.

Máte tipy na nějaké další návody, videotutoriály pro Nette? :-)
Díky

Ahoj,

Návod jak vytvořit blog

neprijde mi jako dvakrat funkcni reseni v soucasne distribuci nette.

teda aspon pro me je matouci hnedle zacatek s DIBI

Jan Tvrdík
Nette guru | 2595
+
0
-

@vosy: Tak napiš autorovi, aby ten tutoriál aktualizoval.

pilniczek
Člen | 1
+
0
-

Já asi budu ten extrapřípad začátečníka, protože jsem (po krátkém vymezování si vzájemných práv se svým ubuntu) skončil už u ukázkového příkladu (viz https://doc.nette.org/cs/quickstart).
Protože mi adminer při pokusu o založení databáze píše: Access denied for user ''@'localhost' to database ‚quickstart‘ a nevim co s tim (u práce s databází mi taky chybí pár slov úvodem, týkajících se právě lognutí – to, jak je vidět, mi prošlo bez zadání údajů).

O nette jsem se začal zajímat před pár dny, protože chci skoncovat se svým spaghetti code. Spolubydlící mi o nette udělal cca hodinovou přednášku a nedá se říct, že bych všechno pochopil – ne že mu to někdo řeknete :D.

dík

Jan Tvrdík
Nette guru | 2595
+
0
-

@pilniczek: V tom případě, prosím, odejdi jinam a vrať se, až se doučíš základy PHP a práce s databází.

Šaman
Člen | 2666
+
0
-

@pilniczek: Pár slov o připojení k databázi v dokumentaci je.
Samotné vytvoření databáze v Admineru, PhpMyAdminovi, nebo v čemkoliv jiném není problém souvisejí s Nette. Podle té tvé chybové hlášky to ale vypadá, že jsi v Admineru nevyplnil uživatele.

Editoval Šaman (12. 5. 2013 19:50)