Vzorovy projekt v nette frameworku

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

Po nekolika letech otrociny v psani cisteho PHP jsme se s kolegou rozhodli prehodnotit nas postoj a zacit vyuzivat frameworku. Nette pro nas jako pro cechy asi nejblizsi volba. Narazili jsme ovsem na problem. Hlavni dva zdroje jsou QuickStart a serial na zdrojaku. Obe dve moznosti maji jiste logicke diry, ktere nam zcela znemoznuji si ucelit predstavu a zorientovat se v nekterych – prevazne filosofickych – nejasnostech, ktere nas provazeji. Stejne tak jsou oba vyukove zdroje bohuzel vedeny v trosku odlisnem duchu, takze je zcela nemozne se vysledku domoci porovnanim. A proto tato prosba:

Je tady nejaky dobrotivy vyvojar, ktery by mohl poskytnou zdrojovy kod nejakeho mensiho projektu, vyrobeneho s pomoci nette? Jedna se nam jen o pochopeni nekolika nuanci a zahltit forum kupou dotazu nam s kolegou neprijde jako inteligentni a plodny napad. Navic vymysleni a sepisovani dotazu by zabralo hodiny, otevreni tri souboru a jejich projiti nakonec je otazkou nepomerne mensiho casu. Tak tedy, najde se nekdo, kdo nam pomuze?

Editoval futuretux (15. 7. 2010 20:14)

scerny
Člen | 25
+
0
-

Aniž bych chtěl dělat reklamu, tak vám doporučuju školení přímo na Nette https://www.skoleniphp.cz/. Mluvím z vlastní zkušenosti, je to nejlepší způsob jak nejrychleji pochopit tento framework (a nejen to) a ještě si odnesete vzorovou aplikaci, na které se na školení sami podílíte a můžete z ní následně dloudodobě čerpat.

Cifro
Člen | 245
+
0
-

futuretux napsal(a):

Narazili jsme ovsem na problem. Hlavni dva zdroje jsou QuickStart a serial na zdrojaku. Obe dve moznosti maji jiste logicke diry, ktere nam zcela znemoznuji si ucelit predstavu a zorientovat se v nekterych – prevazne filosofickych – nejasnostech, ktere nas provazeji. Stejne tak jsou oba vyukove zdroje bohuzel vedeny v trosku odlisnem duchu, takze je zcela nemozne se vysledku domoci porovnanim.

Aktuálne sa vyrába nová dokumentácia a Quick start, takže by veľmi pomohlo keby ste tu tie logické díry a nejasnosti (aj tie filozofické) spísali.

Tu na fóre a na GitHube, je niekoľko hotových aplikácii. Ale Nette je framework a každý programator v ňom programuje inak a preferuje iné techniky, tak by vás to mohlo iba zmiasť a priahli by ste hneď od začiatku po najčistejšom riešení a technikách. A podľa mňa najčistejšie riešenie príde samo po niekoľkých úspešných aj neúspešných iteráciach.

Ale aby som aspoň niečo dal tak:
https://blog.nette.org/ (napr. Návštevná kniha s Ajaxom, Statický web v Nette, atď…)

Editoval Cifro (15. 7. 2010 21:57)

srigi
Nette Blogger | 558
+
0
-

Mna podobne uvahy nedavno viedli k myslienke: „zalozit na fore sekciu – vzorove aplikacie“. V tejto novej sekcii by useri mohli postovat svoje aplikacie, o ktorych si myslia ze ma zmysel sa o ne podelit. Bol by to aj vhodny model podpory – co aplikacia, to thread vo fore. Ludia by si tahali .zip archivy, autor by robil support a komunita by prispievala a zlepsovala aplikaciu.

Co vy na to? Sam uz mam jednu app na post.

oaki
Člen | 11
+
0
-

srigi napsal(a):

Mna podobne uvahy nedavno viedli k myslienke: „zalozit na fore sekciu – vzorove aplikacie“. V tejto novej sekcii by useri mohli postovat svoje aplikacie, o ktorych si myslia ze ma zmysel sa o ne podelit. Bol by to aj vhodny model podpory – co aplikacia, to thread vo fore. Ludia by si tahali .zip archivy, autor by robil support a komunita by prispievala a zlepsovala aplikaciu.

Co vy na to? Sam uz mam jednu app na post.

myslim, ze je to dobry napad, urcite by som ho podporil:)

despiq
Člen | 320
+
0
-

ja osobne si nemyslim ze by toho bylo napsano malo, naopak, je toho napsano mozna az moc, na skoro kazdy problem se ve foru najde reseni, tak co se tyce nazornych aplikaci, kdyz sem s nette zacinal tak sem chtel presne to same, pak sem se podival do examples a zjistil ze hotove aplikaci nemam sanci porozumet jelikoz nevim jak nette funguje, a proto se mi zda ze to bude prave zpusob psani prasackeho php bez frameworku ktery nici i zpusob uvazovani jak se neco noveho naucit

takze moje rada zni, nahrat skeleton, precist si quick start a tutorialy a pak neco zkusit vytvaret, vsechno ma svuj cas a to ostatni prijde postupne, stejne by ses hned nemel poustet do mega aplikace predtim nez vis co delas

a taky pokud nejsi schopny pochopit nette z dostupnych zdroju nebo tomu nejsi ochotny venovat cas, pak by bylo opravdu nejlepsi podporit Davida v tom co dela a jit na jeho skoleni

westrem
Člen | 398
+
0
-

scerny napsal(a):

Aniž bych chtěl dělat reklamu, tak vám doporučuju školení přímo na Nette https://www.skoleniphp.cz/. Mluvím z vlastní zkušenosti, je to nejlepší způsob jak nejrychleji pochopit tento framework (a nejen to) a ještě si odnesete vzorovou aplikaci, na které se na školení sami podílíte a můžete z ní následně dloudodobě čerpat.

Naozaj je to skolenie take dobre? Mam s PHP dost dobre skusenosti, vyvijam v nom uz nejaky ten rok a mam za sebou aj vecsie aplikacie. Doteraz som vsak robil vo vlastnom frameworku, ktory sa mimo ine v niektorych postupoch silne inspiroval Nette. Kedze vsak nie je realna sanca dotiahnut framework vyvijany jednym clovekom na uroven Nette rozhodol som sa v poslednych dnoch, ze prekonvertujem, predsa len Nette mi je najblizsie. Verim vsak, ze po dokladnom citani serialu na Zdrojaku a precitani takmer kazdej stranky v Quick Starte a skumanim kodu dokazem Nette pochopit. Preto sa pytam, je na skolenie predvadzane nieco tak svetaborne, ze by si si naucenie Nette bez toho nevedel predstavit?

srigi napsal:
Mna podobne uvahy nedavno viedli k myslienke: „zalozit na fore sekciu – vzorove aplikacie“. V tejto novej > sekcii by useri mohli postovat svoje aplikacie, o ktorych si myslia ze ma zmysel sa o ne podelit. Bol by to aj vhodny model podpory – co aplikacia, to thread vo fore. Ludia by si tahali .zip archivy, autor by robil support a komunita by prispievala a zlepsovala aplikaciu.

Co vy na to? Sam uz mam jednu app na post.

Som rozhodne za. Ano je pravda, ze uplnych zaciatocnikov to moze zmiast, ale nepredpokladam, ze ty by sa vrhali hned na skumanie kodu, ale ze si pekne prejdu serial a quick start. Naopak, ludia co maju MVP© v krvi, rozumeju sa fungovaniu frameworkov, by podla mna uvitali ak by sa mohli pozriet ako vyzera hotova uz fungujuca aplikacia aby rychlejsie ziskali prehlad, mne osobne tiez pomoze ked vidim uceleny kod ako len vystrizky napr. v quick starte. Clovek potom takuto aplikacku otvori v IDE a funguje nejak na DFS a BFS prehladavani kodu :)

Cifro napsal:
Aktuálne sa vyrába nová dokumentácia a Quick start

Chcem sa spytat, nevies nahodou v akom casovom horizonte bude hotova stranka „Jak na moduly?“. Je to jedna z veci, ktore som si chcel najviac precitat a stale neexistuje :(

LuKo
Člen | 116
+
0
-

westrem: Ke školení – pokud chceš ušetřit a máš čas, projdi si detailně seriál na Zdrojáku a skoukni všechna videa z Davidových vystoupení na různých akcích. Dnes se dá pomalu stavět už i na vznikající dokumentaci. Pokud máš peníze, ale už ne čas, doporučuji školení. Osobně jsem nejdřív nastudoval videa a pak se přihlásil na školení, což byla chyba. Bohužel jsem měl asi smůlu, že jsem měl ve skupině lidi, kteří nic netušili o Nette ani o jiných FW, takže jsme zase opakovali základy, jako např. všechny elementy formulářů atd. Druhý den se měla dělat vzorová APPka, ale dopoledne jsme jen zkoumali, co vlastně budeme dělat a jak to bude vypadat, odpoledne se pak často zasekávali na nesouvisejících věcech, jak co udělat v jQuery atp. Možná chybějící třetí den by se probírala podrobněji dědičnost šablon, komponenty a moduly. Věřím, že pro začátečníky to mělo velký přínos, pro mě bohužel ztráta času a peněz :-/

despiq: Na fóru se dá najít ledacos, ale pro začátečníka je tu zásadní problém: ví, že potřebuje vyřešit A, najde si to na fóru, použije. Po čase zjistí, že s tím souvisí B, takže zase vyhledá a použije. Po čase zjistí C atd… Přirovnal bych to ke stavění obrázku z puzzle, ale každý dílek bych si chodil kupovat do obchodu zvlášť. Kdežto vzorová APPka by byl složený obrázek (věci A, B, C, D… spolu související pohromadě u sebe), který by si každý rozložil podle svého a zkusil znovu postavit. Z jednotlivých dílků rozházených ve fóru jsem snad už konečně pochopil princip komponent, bohužel stále plavu v modulární struktuře. Ve fóru se sice objevují slovní popisy, jak to kdo má udělané, ale kdyby existoval nějaký skeleton, kde by se dala odkoukat struktura adresářů, způsob registrace jednotlivých modulů do APPky a přihlašování uživatelů, určitě by to pomohlo nejen mně.

despiq
Člen | 320
+
0
-

jeste jednou opakuji, ze kdyz sem se poprve kouknul napr na fifteen tak sem vubec nic nepochopil jak a co a k cemu co je, takze si nemyslim ze komplexni aplikace zahrnujici vsechny mozny nettevychytavky by byla zacatecnikovi k necemu dobra, navic by lakalo novacka nejdriv stahnout aplikaci a prochazet a pak se teprv koukat do dokumentace, pripadne si ji nejakym zpusobem ohybat ke chtenemu obrazu bez poradneho pochopeni

modularni struktura na foru popsana je primo Davidem, tam v celku nevidim problem, registraci modulu moc nechapu co tim myslis a prihlasovani uzivatelu je taky solidne popsany v dokumentaci

ted jen vyvstava hlavni otazka, jestli je snaha o to aby se nette framework dokazal naucit i napr podprumerny programator nebo jestli bude miren spis pro ty schopnejsi, jedna vec je zde totiz zrejma, ti nejlepsi nettisti kteri tu na foru jsou aktivni se nette naucili bez poradne dokumentace

Editoval despiq (17. 7. 2010 0:01)

futuretux
Člen | 24
+
0
-

Předem se omlouvám, že nebudu reagovat na každého zvlášť, ale vyjádřím se k několika myšlenkám.

Novou dokumentaci bych určitě uvítal – nebo minimálně, neuvěřitelně moc mi chybí, že už od nějakého třetího nebo čtvrtého článku QuickStartu se nepřikládá zip se zdrojáky. V prvních článcích je na nic vidět co se kam zkopírovalo, když zopírovat umím a pak, kdy by byla potřeba nějaká návaznost, tak to chybí.

Dále je problém, že se využívá pouze dibi – do začátku bych potřeboval se čistě soustředit na to, jak ovládnou nette a když ještě do toho musím zkoušet chápat další nástroj je to problém. Zkusil jsem si napsat vlastní objekt jako DB layer (opravdu je jednoduchý nástroj) a narazil jsem zase na problém, že to vůbec nekomunikuje se šablonou.

A asi vůbec největší problém je ten, že neexistuje žádný ucelenější popis funkcí. Na tom jsme se s kolegou shodli. Příručka programátora je fajn věc, ale ale nehovoří se vůbec o důležitých věcech. Když nám třeba nefungoval ten můj DB layer a šablona to prostě nevypisovala, tak jsme se nikde nedomohli informace o tom, v jaké podobě se to má šabloně předat. Nebo nám třeba byli velmi líto, že není nikde pořádně popsaná funkce startup. Nějak jsme s tím experimentovali na základě chyb co nám to házelo a vůbec netušíme, co všechno jsme tím mohli napáchat. Abych to shrnul – třeba článek o prezenteru v příručce. Jo, je fajn, že se člověk dočtě něco o životním cyklu, ale opravdu upřímně mi tam chybí např. ucelenější popis toho, jaké interní fce prezenter nabízí. Náhodou jsem našel startup, nejak si domyslel co dělá. Náhodou jsem našel getModel, a taky si domyslel co dělá, ale opravdu by byl potřeba nějaký seznam, jsou tam tyhle a tyhle fce, musíte jim předat tohle a vyleze vám z toho tohle a tohle. Prostě dokumentace má opravdu díry.

Pokud jde o seminář, tak jsem o něm uvažoval, ale bohužel vzhledem k mému studiu a nedostatku práce by to byla velká zátěž pro mě.

Pokud jde o videa, tak děkuji.. já jsem v kategorii screencasty přehlédl ten link „další videa“, věřím, že to bude vskutku velká pomucka.

Editoval futuretux (17. 7. 2010 9:07)

Honza Marek
Člen | 1664
+
0
-

futuretux napsal(a):

Zkusil jsem si napsat vlastní objekt jako DB layer (opravdu je jednoduchý nástroj) a narazil jsem zase na problém, že to vůbec nekomunikuje se šablonou.

Co to znamená?

Náhodou jsem našel getModel, a taky si domyslel co dělá

Takovou funkci jsem nikde neviděl, kde je?

Jinak teď jsem koukal na ten startup a je popsaný opravdu špatně, dokonce i zastarale.

futuretux
Člen | 24
+
0
-

Honza Marek napsal(a):

futuretux napsal(a):

Zkusil jsem si napsat vlastní objekt jako DB layer (opravdu je jednoduchý nástroj) a narazil jsem zase na problém, že to vůbec nekomunikuje se šablonou.

Co to znamená?

Náhodou jsem našel getModel, a taky si domyslel co dělá

Takovou funkci jsem nikde neviděl, kde je?

Jinak teď jsem koukal na ten startup a je popsaný opravdu špatně, dokonce i zastarale.

ad Šablona:
prostě a jednoduše jsem naplnil pole tak, aby to odpovidalo tomu foreach a vubec nic to nevypsalo. Kolega pozdeji prisel na to, ze misto pouziti $promenna->jmeno funguje $promenna[„jmeno“] ale to asi neni hlavni idea reseni.

ad getModel:
public function getModel() {
if(!isset($this->model))
$this->model = new Model;

return $this->model;
}

Tuto funkci jsem náhodou našel v nějakém přikladu. Vytváří proměnnou, která nám ukazuje na model. A tady je právě vidět, jaké jsou v dokumentaci díry. Já bych očekával, že si model získám přes konstruktor (to jsem ještě teda nezkoušel, ale předpokládám, že nebude problem). Pak teda se najde zmínka o existenci fce startup a náhodou se objeví fce getModel. Ale nikde k ní není nic řečeno.

Pokud bych mohl apelovat na kohokoliv, kdo se stará o dokumentaci… udělejte aspon soupis základních vlastností. Všechny fce, které nabízí prezenter, pro začátek to stačí… a hodně to usnadní snahu naučit se s nette

Blizzy
Člen | 149
+
0
-

futuretux napsal(a):

ad Šablona:
prostě a jednoduše jsem naplnil pole tak, aby to odpovidalo tomu foreach a vubec nic to nevypsalo. Kolega pozdeji prisel na to, ze misto pouziti $promenna->jmeno funguje $promenna[„jmeno“] ale to asi neni hlavni idea reseni.

Záleží na tom, co je proměnná, jestli je $promenna obyčejný objekt a má veřejné vlastnosti, přistupuješ na ně přes šipku (->), jestli je to pole (nebo objekt implementující rozhraní ArrayAccess), tak k jednotlivým prvkům přistupuješ přes hranaté závorky. Pokud použiješ Dibi, vrátí ti z databáze DibiRow, a to umožňuje i to pohodlnější první řešení (myslím, že DibiRow implementuje i ArrayAccess, a tak můžeš použít i druhý způsob).

V šabloně pracuješ s proměnnými v stejně jako v obyčejném PHP kódu, žádný layer, který „komunikuje“ nebo „nekomunikuje“ s šablonou není, Nette je na Dibi nezávislé. Pokud umíš procházet ten tvůj vlastní objekt jako DB layer v běžné PHP třídě, zvládneš to i v šabloně.

futuretux napsal(a):
ad getModel:
public function getModel() {
if(!isset($this->model))
$this->model = new Model;

return $this->model;
}

Tuto funkci jsem náhodou našel v nějakém přikladu. Vytváří proměnnou, která nám ukazuje na model. A tady je právě vidět, jaké jsou v dokumentaci díry. Já bych očekával, že si model získám přes konstruktor (to jsem ještě teda nezkoušel, ale předpokládám, že nebude problem). Pak teda se najde zmínka o existenci fce startup a náhodou se objeví fce getModel. Ale nikde k ní není nic řečeno.

Funkci getModel vůbec nemusíš používat (já jsem tohle řešení taky ještě nepoužil), můžeš si klidně kdekoliv presenteru použít $model = new Model;, nebo si na to napsat jinou metodu, Nette ti dává v tomhle směru volnost, všeobecně modelovou část aplikace zatím neřeší. Samotná třída Model taky nemusí být nutně třída připojená k databázi přes dibi, prostě co si tam napíšeš, to pak použiješ. Nette aplikace se vůbec nemusí dělat podle nějakého vzoru, framework ti dává celkem hodně volnosti.

Možná nejasnost, která z toho plyne je, že pokud v presenteru zavoláš $this->model, zavolá se automaticky třída getModel(), pokud je definovaná. Tahle vlastnost usnadňuje a zjednodušuje kód, ale může být matoucí. Je to vlastnost zděděná od Nette\Object, viz https://doc.nette.org/…/smartobject#…, a funguje to pro všechny proměnné. Jde toho využít i tak, že vlastnost nemusí být ve třídě vůbec definovaná (nahoře např. jako public $model;), ale je možné definovat pouze třídy getModel a setModel (pokud je potřeba i zapisovat), a kdokoliv třídu používá nic nepozná.

Quick start je sice nedokončený a neřekl bych, že je zrovna ideální, ale dokumentace obsahuje tuny informací, tutorálů je dost, v distribuci jsou examples (odtud bych hlavně čerpal z CD-collection, podle mě lepší než současný Quick start), zodpovězených otázek je plné celé fórum, a celý kód Nette má stručně zdokumentovanou každou třídu, metodu a vlastnost. Pokud něco nevyčteš z žádného z uvedených zdrojů, můžeš se zeptat.

Editoval Blizzy (17. 7. 2010 14:02)

futuretux
Člen | 24
+
0
-

22 napsal(a):

a co API?
https://api.nette.org/…ication.html

Díky, kouknu.

Blizzy napsal(a):

Záleží na tom, co je proměnná, jestli je $promenna obyčejný objekt a má veřejné vlastnosti, přistupuješ na ně přes šipku (->), jestli je to pole (nebo objekt implementující rozhraní ArrayAccess), tak k jednotlivým prvkům přistupuješ přes hranaté závorky. Pokud použiješ Dibi, vrátí ti z databáze DibiRow, a to umožňuje i to pohodlnější první řešení (myslím, že DibiRow implementuje i ArrayAccess, a tak můžeš použít i druhý způsob).

V šabloně pracuješ s proměnnými v stejně jako v obyčejném PHP kódu, žádný layer, který „komunikuje“ nebo „nekomunikuje“ s šablonou není, Nette je na Dibi nezávislé.

Díky, přesně tohle by taky mělo být někde popsané. Sice vím, jak syntaxe → funguje, ale ten příklad mate a není nikde vysvetleno, jak je to myšlené.

Třeba když vidím foreach, čekám obyčejné pole, když tam je → očekávám, že je to nějaký speciální zápis šablonovacího systému. Možná to je moje natvrdlost, ale myslím, že ty příklady by měli být polopatičtější.

Každopádně všem děkuji za dosavadní postřehy, přineslo mi to spoustu odpovědí, podnětů a dalších studijních materiálů. Ovšem zároveň doufám, že i já jsem pro budoucí verze dokumentací přinesl alespoň nějaký podnět, jak ji udělat lépe a radostněji.

Editoval futuretux (17. 7. 2010 17:10)

Cifro
Člen | 245
+
0
-

Třeba když vidím foreach, čekám obyčejné pole, když tam je → očekávám, že je to nějaký speciální zápis šablonovacího systému. Možná to je moje natvrdlost, ale myslím, že ty příklady by měli být polopatičtější.

Z mojho pohľadu tu vidím isté medzeri v znalostiach PHP. Do foreachu môže ísť aj pole objektov. Podľa mňa pri výskyte ->, v šablone by mala byť prvá myšlienka taká, že premenná je objekt a pristupuje sa takto k jej vlastnostiam (toť znalosti OOP v PHP), a až potom by * možno * mala dostať priestor myšlienka, že to je nejaká kůl fičura šablonovacieho jazyka.

Vás poplietol ten ArrayAccess, kde je možné pristupovať aj cez hranaté zatvorky aj cez šipku. A presne o tom som hovoril, že keby vam niekto poslal už hotový kód a boli by tam také fíčury, boli by ste ešte menej mudrejší jak z popisu z dokumentácie.

A podobne je to aj s tou metodou getModel(), malo by byť jasné čo robí – lazy loading modelu – keď premenná $this->model je nullová tak sa do nej uloží nový objekt Model, ak nie je nullová, tak sa vráti to čo je už uložené v $this->model. A toto nie je vôbec fičura Nette, ale už samotný spôsob programovania. Podobá sa to na navrhový vzor
singleton.

Edit: vysvetlenie getModel()
Edit2: typo: Module → Model… fuck, ľahko sa to zamieňa :/

Toľko moj pohľad.

Editoval Cifro (17. 7. 2010 19:48)

Cifro
Člen | 245
+
0
-

westrem napsal(a):

Cifro napsal:
Aktuálne sa vyrába nová dokumentácia a Quick start

Chcem sa spytat, nevies nahodou v akom casovom horizonte bude hotova stranka „Jak na moduly?“. Je to jedna z veci, ktore som si chcel najviac precitat a stale neexistuje :(

Neviem. A dokonca, túto stránku som už ani nenašiel v aktuálnej doc. Ale o moduloch niečo isto bude napísané v novej dokumentácii.

Aktuálna implementácia modulov v Nette je prostá. Je to iba adresár s presentermi. Do samotnej app sa to nijak neregistruje (RobotLoader si nájde všetko), v šablonách sa len odkazuje na iné moduly {link :NejakyModul:NejakyPresenter:NejakaAkcia:}. To, že sa napr. ti v administrácii v menu zobrazí nová položka s názvom modulu si musíš naprogramovať už sám.

Editoval Cifro (17. 7. 2010 19:07)

Ani
Člen | 226
+
0
-

Tak poslední dobou se nette začínájí učit lidi, kteří neumí základy php a tam je problém, že hned chtějí hotovou aplikaci, ale „ztroskotají“ na vytvoření složky… Taky mi přijde že je tu nějaká představa, jak se to člověk naučí za dvě odpoledne.
Takhle to dopadne i s nějakou pořádnou aplikací, kde si to bude člověk bez větších znalostí upravovat, ono to přestane fungovat a bude to špatně.

Peppy
Člen | 137
+
0
-

OT: @Ani: hm…máš na mysli mňa?
Áno, bodol by nejaký prepracovaný Doc.

Editoval Peppy (17. 7. 2010 19:31)

LuKo
Člen | 116
+
0
-

Cifro napsal(a):
To, že sa napr. ti v administrácii v menu zobrazí nová položka s názvom modulu si musíš naprogramovať už sám.

A to je zrovna věc, která mi v úplném ovládnutí Nette chybí. V předchozím příspěvku jsem to nazval registrací modulu. Vůbec nevím, jak do toho kousnout, aby se mi po nahrání modulu na server přibyla příslušná položka v menu. A to nemluvím o možnosti komentářového modulu, který na jednom webu pod fotkami použiji a na jiném ne. Jak vyzjistit právě aktivní (nahrané) moduly? Šlo by do bootstrapu natvrdo doplnit pole se seznamem aktivních modulů, ale to asi nebude ta správná cesta :-) A v tom bych čekal největší přínos hotové APPky – mám hromadu dílků puzzle, ale chybí mi k tomu obrázek, co vlastně mám skládat. Jde to i bez něj, ale je to docela těžké. I pro člověka, který se v Nette vyzná, to může být velká zkratka, když koukne přesně na určité místo a vidí, jak danou věc udělat. Aby se začátečník Nette nepolíbený (natož s chabými znalostmi PHP) učil z APPky, je samozřejmě nesmysl. Přesto si myslím, že takové „Nette design patterns“ by měly smysl.

Ani
Člen | 226
+
0
-

Zrovna moduly v nette jsou zatím pojaté dost jednoduše. Vlastně je to obyčejné složka. https://forum.nette.org/…ura-a-moduly (tohle si přečti celé)
Nějaká věstavěná registrace, de/akivace, načítání práv atd. zatím (bude někdy?) není, takže je to na každým jak si to udělá.

Cifro
Člen | 245
+
0
-

LuKo napsal(a):

Cifro napsal(a):
To, že sa napr. ti v administrácii v menu zobrazí nová položka s názvom modulu si musíš naprogramovať už sám.

A to je zrovna věc, která mi v úplném ovládnutí Nette chybí. …

To nie je ani o Nette. To je už o samotnom programovaní modulárnej aplikácie. Kolega o tom píše dimplovku ale pre C#. Nette ti v tom len trochu pomáha.

Inšpiráciu môžeš hľadať napr.

Edit: Ani bol rýchlejší :)))

Editoval Cifro (17. 7. 2010 20:05)

odin
Člen | 50
+
0
-

Blizzy napsal(a):
Záleží na tom, co je proměnná, jestli je $promenna obyčejný objekt a má veřejné vlastnosti, přistupuješ na ně přes šipku (->), jestli je to pole (nebo objekt implementující rozhraní ArrayAccess), tak k jednotlivým prvkům přistupuješ přes hranaté závorky. Pokud použiješ Dibi, vrátí ti z databáze DibiRow, a to umožňuje i to pohodlnější první řešení (myslím, že DibiRow implementuje i ArrayAccess, a tak můžeš použít i druhý způsob).

ano, to jsou presne ty diry v dokumentaci, datove typy (parametru a navratovyh hodnot) obcas chybi a dobrat se a pak treba toho, ze nejaka metoda v prikladu vraci dibiRow a ze jde k dibiRow pristupovat jako $row->vlastnost nebo taky $row[‚vlastnost‘] je jeste o hodne vetsi kovbojka.
Krome toho ani API dokumentace neni zdaleka kompletni, napr. viz https://forum.nette.org/…s-fileupload nebo dokumentace tridy Ftp (ktera asi skoncila na smetisti dejin).
Ale jako je to o dost lepsi nez to bylo pred rokem.

despiq
Člen | 320
+
0
-

co vraci dibi za objekt nema s nette co delat a v dibi dokumentaci to napsane je

a nechapu to s tim stezovanim si na dokumentaci, nette neni zas tak obrovska zalezitost aby kdokoliv nemohl dohledat cokoliv ve zdrojovem kodu

lze k situaci pristupovat naprosto realne, neni dokumentace kterou potrebuju tak jdu proste jinam ale cist tady na foru porad dokolecka jak neni udelana poradne dokumentace je otravny, david to dela zadarmo a nedivim se mu ze nechce psat nebo nema cas na psani dokumentace protoze ma proste jiny veci na praci ktery ho bavej vic

co me ale jeste vic stve je ze se to pak dotyka lidi z komunity kteri se tu snazi tuto dokumentaci vytvaret akteri se nette naucili prave ctenim zdrojovyho kodu, je prece naprosto trapny zadat zadarmo vic a vic a rikat ze to furt neni dost, nejspis za tim bude ta neskutecna lenost lidskeho druhu

futuretux
Člen | 24
+
0
-

Bacha, ted se to dotyka zase me. Ja se tady nesnazim nikoho kritizovat, nebo znevazovat jeho praci. Ja se tady snazim poukazat na nedostatky.

Jakakoliv prace je na hovno bez zpetny vazby, a poukazat na nedostatky a upozornit na to, jak neco vylepsit je podle me nejlepsi zpetna vazba.

despiq
Člen | 320
+
0
-

Je tady nejaky dobrotivy vyvojar, ktery by mohl poskytnou zdrojovy kod nejakeho mensiho projektu, vyrobeneho s pomoci nette? Jedna se nam jen o pochopeni nekolika nuanci a zahltit forum kupou dotazu nam s kolegou neprijde jako inteligentni a plodny napad. Navic vymysleni a sepisovani dotazu by zabralo hodiny, otevreni tri souboru a jejich projiti nakonec je otazkou nepomerne mensiho casu. Tak tedy, najde se nekdo, kdo nam pomuze?

tohle mi zni jako chci neco co tu neni a bylo by fajn kdyby to tu bylo ale neni tak se tu ptam jestli by tu nebyl nekdo kdo tu diru doplni

chapu ze nekritizujes hotovou praci ALE po precteni max 20 temat na foru musis nutne narazit na to ze se step-by-step dokumentace vytvari a jak sem psal cist porad dokolecka ze se musi dodelat tohle tamto a jeste trochu tuhle je proste do oci bijici

ale ty to treba ani vubec nechces, ty chces hotovou aplikaci kterou si zohybas a podle ni se to naucis a o to me to vic mrzi, ze vlastne ani zadnou dokumentaci nechces a ze se pripravujes o ten lepsi zpusob uceni se, proc by se pak delala krok za krokem dokumentace kdyby stacila na porozumemi hotova aplikace?

a ja tu zas melu, mozna proste pouzij skeleton, to je hotova aplikace, nebo ne?

westrem
Člen | 398
+
0
-

Ani napsal(a):

Zrovna moduly v nette jsou zatím pojaté dost jednoduše. Vlastně je to obyčejné složka. https://forum.nette.org/…ura-a-moduly (tohle si přečti celé)
Nějaká věstavěná registrace, de/akivace, načítání práv atd. zatím (bude někdy?) není, takže je to na každým jak si to udělá.

Dakujem krasne za link, nieco take som hladal :).

Co sa tyka vzoroveho projektu tak tu padli dobre nazory pre aj proti.
Je pravda, ze zaciatocnici (ti, ktori vedia ciastocne PHP a chcu pouzivat Nette pretoze poculi ake je uzasne) budu len stazka chapat tu genialitu v objektovom navrhu, ktoru Nette ma. A tym, ze by studovali hotove aplikacky by asi naozaj dochadzalo k tomu javu, ze si ich upravia tak aby to splnalo nejak ich zadanie a viac by neriesili.

Verim vsak, ze sa tu najdu aj ludia, ktori uz maju svoje skusenosti a snazia sa o pisanie cistych apps a dodrzuju best practise kde sa len da. O to by podla mna primarne slo v tychto vzorovych projektoch. Aby poskytli ukazku best practise. Ja osobne mam napriklad problem s tym, ze vo svojom frameworku, od ktoreho mmtalne upustam som mal vela veci zariesenych pekne a elegantne, a o rovnaku cistotu by som sa chcel postarat aj v prepisanom backende pomocou Nette, bohuzial niekedy je tych moznosti co kam napisat tolko, ze neviem co by napr David povazoval za spravne alebo nespravne riesenie.

Je teda otazne, ci zverejnit projekty, kedze to moze aj pozitivne ale aj negativne vplyvy.

futuretux
Člen | 24
+
0
-

despiq napsal(a):

ale ty to treba ani vubec nechces, ty chces hotovou aplikaci kterou si zohybas a podle ni se to naucis a o to me to vic mrzi, ze vlastne ani zadnou dokumentaci nechces a ze se pripravujes o ten lepsi zpusob uceni se, proc by se pak delala krok za krokem dokumentace kdyby stacila na porozumemi hotova aplikace?

Tak je to zase tady. Clovek si uz uz odnasi dobry pocit z toho, ze od nekud priletla dobra a uzitecna rada (ty videa jsem opravdu prehlednul – uz mam nastahovano, opravdu dekuji, ja myslel, ze tam je jen navod na to stazeni) a zase se najde nekdo, kdo ten dobry pocit pohotove zkazi.

K tomuhle jen jedno: nejsem zadna posrana lama, co nekomu neco slibila za velky prachy a chce vydelat na necem co neumi. Programuju uz par let, vsechno poctive rucne. Semtam jsem si dopsal tridu, nasel neco na makra, abych nektere bloky kodu nemusel psat rucne furt dokola… ted jsem usoudil, ze by bylo na case pokrocit se znalostma. Prosel jsem dokumentaci, prosel jsem ty serialy a ok, zakladni veci mi to dalo. Nerozumim par vecem, mozna je to moje pitomost, ale je to pro me nepochopitelny. Kdyz se clovek sekne v necem, je dobre se podivat jak to funguje a doufat, ze to zpetne odvodi. Ale pokud je pro nekoho problem to, ze jsem chtel videt fungujici vec, abych si v hlave srovnal nejasnosti, tak se omlouvam – urcite uz zase pristich par let neudelam tu chybu, ze bych nekoho z nejake internetove komunity pozadal o pomoct, pokud ji budu potreboval, znovu se spolehnu na poctivou otrocinu, tim snad nikoho neurazim.

futuretux
Člen | 24
+
0
-

westrem napsal(a):

Co sa tyka vzoroveho projektu tak tu padli dobre nazory pre aj proti.
Je pravda, ze zaciatocnici (ti, ktori vedia ciastocne PHP a chcu pouzivat Nette pretoze poculi ake je uzasne) budu len stazka chapat tu genialitu v objektovom navrhu, ktoru Nette ma. A tym, ze by studovali hotove aplikacky by asi naozaj dochadzalo k tomu javu, ze si ich upravia tak aby to splnalo nejak ich zadanie a viac by neriesili.

S tim naprosto souhlasim, jeden muj znamy je slibotechna, ktera neustale nekomu slibuje neco na co nema. Nejdrive vykrade po internetu vsude co jde, pak mi napise, abych to dal do hromady za par korun (coz je ta pozitivnejsi cast, privydelek se vzdycky hodi) a modli se, aby to fungovalo.

Uznavam, ze pro takovehle lidi by uverejneni nekolika projektu bylo dobrym ornym polem. Ovsem jako studijni material pro poctive zajemce by to smysl melo. Opravdu si myslim, ze videt jak to napsal nekdo „lidsky“ je neprekonatelne.

despiq
Člen | 320
+
0
-

nechtel sem te odradit, to bych opravdu nerad, za prehnanou reakci se omlouvam, nicmene kdyz tu zustanes a budes procitat forum do historie pak mozna pochpis co sem mel na mysli

ale napadlo me, kdyby byla aplikace, backend i frontend, s prihlasovanim do backendu a treba s datagridem v backendu na spravu stranek ktere by se zobrazovali na frontendu, proste primitivni cms, stacilo by to?

futuretux
Člen | 24
+
0
-

despiq napsal(a):

nechtel sem te odradit, to bych opravdu nerad, za prehnanou reakci se omlouvam, nicmene kdyz tu zustanes a budes procitat forum do historie pak mozna pochpis co sem mel na mysli

ale napadlo me, kdyby byla aplikace, backend i frontend, s prihlasovanim do backendu a treba s datagridem v backendu na spravu stranek ktere by se zobrazovali na frontendu, proste primitivni cms, stacilo by to?

Se taky omlouvam, ze jsem trosku „vyjel“, ale jsem haklivej na podobna tvrzeni.

Neco takoveho by asi urcite bodnulo. Ja mam totiz potize s tim, ze nemohu presne rozlisit cim a kde (mysleno ruznymi druhy fci) mam prijimat prikazy, data apod. (Omlouvam se, ale nedovedu to moc dobre popsat, kde mam problem – proste potreboval bych videt na nejakem komplexnejsim prikladu kdy a co zpracovava prichozi zadosti). Jednoduche cms by mi asi ukazalo vicemene vsechny moznosti, takze by to bylo fajn.

Cifro
Člen | 245
+
0
-

Dúfam, že sa nikto neurazí, kto na tom robil. I tak je to už mŕtvy projekt…

CMS pre staršiu verziu Nette, veľa toho nezaberie ho upraviť na Nette 1.0-dev

http://code.google.com/…urce/browse/

srigi
Nette Blogger | 558
+
0
-

Pridam sa aj ja so svojou appkou – github