Struktura Nette – vysvětlení pro začátečníky
- Matěj
- Člen | 14
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
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
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
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
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
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
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
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
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
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
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)
- Draffix
- Člen | 146
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
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
- Dismember
- Člen | 50
Š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
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,
neprijde mi jako dvakrat funkcni reseni v soucasne distribuci nette.
teda aspon pro me je matouci hnedle zacatek s DIBI
- pilniczek
- Člen | 1
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
@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
@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)