Zamyšlení – zmatení začátečníci?
- Mirda
- Člen | 35
Zdravím,
mám dojem, že současná situace s Nette je pro začátečníky velmi
zmatená. Stáhnu si novou verzi Nette a začnu s prvními příklady.
Pochopitelně nic nefunguje. Jiný config, Nette\Database apod. A to nemluvím
o doplňcích využívající třeba připojení k dibi. Jak je to
s připojením k dibi v nové verzi? Možná by to chtělo nějak více
přiblížit a vysvětlit. Díky.
Editoval Mirda (25. 9. 2011 10:17)
- 22
- Člen | 1478
Tak dokumentace nemůže obsahovat všechno, zejména pokud se preferuje nyní Nette\Database před dibi, ale i tak třeba v kuchařce se dá najít, jak na to.
Naopak se domnívám, čím více odkazů na google najdeš v souvislosti s tvým dotazem k Nette, tím lépe pro jeho příznivce. .-)
Edit: to, že v dokumentaci jsou staré/nefunkční příklady, je samozřejmě nedostatek. Stačilo by, kdyby nováčci na takové příklady upozornili a jistě to někdo z nás opraví.. já krom svého tutoriálu žadné příklady z dokumentace neviděl asi už rok, čili možná se ani neví, že je tam něco špatně, dokud na to někdo neupozorní.
Edit2: námět na řešení
Editoval 22 (24. 9. 2011 12:48)
- Mirda
- Člen | 35
- se starší verzí jsem neměl nikdy žádné problémy. Vše fungovalo jak má. Super podpora. Tutoriály, doplňky, fórum.
- v hlavičce tutoriálů mi chybí zhruba následující informace: "Chcete-li pracovat dle tohoto tutoriálu nestahujte nejnovější verzi ale tuto …
- vždy jsem se domníval, že je tento web určen i začátečníkům a jsou plně podporováni.
- nevím, proč bych měl hledat někde na googlu. Vždycky jsem všechno našel zde.
- proč by nemohla být v distribučním balíku i verze s dibi? Kolik programátorů tady a teď používá verzi Nette\Database? (tohle fakt nevím a zajímalo by mě to)
- kdo a kdy bude předělávat doplňky?
- config.neon – stále se mu nelíbí formátování, tomu moc nerozumím
- smasty
- Člen | 90
@Mirda:
- S Nette 2 som nikdy nemal žiadne problémy, všetko funguje ako má. Podpora je dobrá (fórum, doc, jabber)
- Niečo také by sa určite hodilo, je to ale na autoroch tutoriálov.
- To aj sú.
- Súhlasím, a naďalej to platí.
- Pretože sa tak autor rozhodol. Nette\Database je do Nette priamo zabudovaná, preto sa aj používa vo všetkých ukážkach. dibi je third-party, aj keď od toho istého autora. Nikto ale nikoho nenúti používať jedno či druhé, alebo niečo úplne iné.
- Autori alebo dobrovoľníci, keď budú mať čas.
- Komu sa nepáči? Mne funguje bez problémov. Stačí nemiešať medzery s tabulátormi a zvyšok je absolútne intuitívny.
- Mirda
- Člen | 35
Protože mi to přijde jako dost zásadní věc a tady se mi to nepodařilo najít. Chtěl jsem prostě best practice. Co je na tom špatného? Co napsat do config.neon, modelu a jak to vypsat v presenteru.
Ptám se proto, že to má být tady, jako podpora začátečníků.
Editoval Mirda (24. 9. 2011 21:32)
- Filip Procházka
- Moderator | 4668
Na dotaz jak se připojit s Nette 2b k dibi jsem já odpovídal nejméně 3× a to nemluvím o ostatních. Stačí použít hledání vpravo nahoře tady na této stránce. Je tam takový rámeček světle modrý, tam klikneš, napíšeš co tě zajímá a čteš co to najde.
Ale klidně ti odpovím ještě jednou, extra pro tebe.
V Nette 2beta se k dibi připojuješ úplně stejně jako v Nette 0.9.
- net-vor
- Člen | 35
ad připojení k dibi, je to jednoduché:
- v config.neon zadat login data, příklad zde (část production < common a development < common). K formátování config.neon používej buď mezery, nebo tabulátory, ale ne obojí (v tom případě tě na to laděnka upozorní).
- v bootstrapu pak stačí zavolat připojení
dibi::connect($container->params['database']);
, tím to hasne.
- Mirda
- Člen | 35
@ net-vor
Díky moc!!! Už jsem to rozjel. Jen jsem uvažoval o inovaci a nějak jsem se
v tom zamotal. Chtěl jsem zkusit volat připojení z nějakého baseModelu.
Když napíšu dibi::connect($container->params[‚database‘]); do
bootstrapu, tak se vytvoří připojení automaticky bez ohledu na to, jestli
zrovna používám db, nebo se mýlím? Viděl jsem tuto variantu //služba
dibi
se předá automaticky
public function __construct(DibiConnection $dibi) {
$this->dibi = $dibi;
}
a mám zmatek. Zase plácám nesmysly. No nic. Musím pořádně nastudovat OOP
a třeba budu mít jasno.
Díky
- boky
- Člen | 18
Mirda napsal(a):
@ net-vor
Díky moc!!! Už jsem to rozjel. Jen jsem uvažoval o inovaci a nějak jsem se v tom zamotal. Chtěl jsem zkusit volat připojení z nějakého baseModelu. Když napíšu dibi::connect($container->params[‚database‘]); do bootstrapu, tak se vytvoří připojení automaticky bez ohledu na to, jestli zrovna používám db, nebo se mýlím?
Pridej do configu: „lazy: true“ a bude se to pripojovat, jenom, kdyz bude pripojeni k databazi treba
- Patrik Votoček
- Člen | 2221
@Mirda: není v našich silách projít celý „web“ nette.org a kouknout jestli jsou všechny tutoriály aktuální. Pokud víš o nějakém, který aktuální není nebo prostě nefunguje. Dej nám vědět uděláme vše pro to aby jsme to napravili.
Ad připojení k dibi do vyhledávacího políčka nahoře
na této stránce jsem zadal dibi
připojení Nette 2
a heleme se.
- jeezaa
- Člen | 3
Imho jako zacatecnik mam problem s dokumentaci.
Nasel jsem dokumentaci k v0.9 do ktere se obcas michaji veci z 2.0
Kdyby se jasne oddelila stara dokumentace a vedle toho by se vytvoril dalsi link s dokumentaci od verze 2.0.. byla by to bomba – napr. nejakt jako je to u SFML frameworku: http://www.sfml-dev.org/tutorials/
Ale je to jen nazor jednoho kolemjdouciho cloveka, ktery s nette prisel teprve pred tydnem do styku… tak to berte s rozvahou :)
Cya.
- birkof
- Člen | 15
To smasty: Jo kdyby to bylo tak jednoduché. Bohužel dokumentace je otřesná. Například hned na začátku v první aplikaci je v tasklist.php uvedeno toto:
use Nette\Database\Connection,
Nette\Database\Table\Selection;
Bohužel class Selection neexistuje. Místo něj je TableSelection atd.. opravdu podle toho se nedá učit. Nebo úplně na začátku když jsem o nette uvažoval, jsem shlédl video , které ukazuje Framework::promo, které dnes již neexistuje. Přitom v tom videu není uvedené, že je pro nette verze xy. To konec konců neuvádíte nikde. Chtělo by to udělat wiki a hezky u všeho psát verze. Skutečně mě nebaví luštit jak asi něco může fungovat. Uvědomte si, že Nette stejně jako všechny frameworky jsou velmi složitý software.
- jtousek
- Člen | 951
birkof napsal(a):
Bohužel class Selection neexistuje. Místo něj je TableSelection atd.. opravdu podle toho se nedá učit.
To je zcela v pořádku. Dokumentace je psána pro verzi s namespaces na PHP 5.3+. Ve verzi pro 5.2 samozřejmě namespeces nejsou a třídy se musí jmenovat jinak – v tomto případě TableSelection. Není možné udržovat dokumentaci pro každou verzi zvlášť.
- LeonardoCA
- Člen | 296
Bohužel dokumentace je otřesná.
Není, je jen neúplná. Vyvíjí se, je čím dál lepší, ale není dokonalá.
To je zcela v pořádku. Dokumentace je psána pro verzi s namespaces na PHP 5.3+. Ve verzi pro 5.2 samozřejmě namespeces nejsou a třídy se musí jmenovat jinak – v tomto případě TableSelection. Není možné udržovat dokumentaci pro každou verzi zvlášť.
Neřekl bych, že je to zcela v pořádku. Je to nedostatek dokumentace. Pro začátečníka je opravdu těžké, si tyhle věci uvědomit. Chtělo by to vymyslet způsob jak dokumentovat srozumitelně a všechny verzi současně.
Aby to bylo zcela v pořádku, tak by každý řádek kódu a každý příklad měl být napsán funkčně pro každou verzi nette. Nebo měl mít alespoň obsahovat informaci pro kterou verzi nette byl kód otestován a je použitelný bez modifikací.
Jinak si myslím, že když to přeženu, tak by bylo jednodušší a uživatelsky přívětivější udržovat jen jednu verzi nette, aby nebyly zmatky.
- hAssassin
- Člen | 293
LeonardoCA napsal(a):
Jinak si myslím, že když to přeženu, tak by bylo jednodušší a uživatelsky přívětivější udržovat jen jednu verzi nette, aby nebyly zmatky.
a neni to ted tak? hlavni verze je 5.3+ s namespaces, pro php 5.2 je spis jen z historickych duvodu, rekl bych. To ze zacatecnik nerozumi namespaces je jeho minus a nema to nic spolecnyho s Nette a to ze ma hosting s 5.2kou a chce na nem zacinat novy projekt je taky jeho minus (pokud tam ma starsi projekty tak to je neco jinyho, ale ty asi v Nette nebudou, kdyz se ho ted uci, a na localhost jsou snad 5.3+ dostupny v pohode, ne?)
P.S. a vetsina stranek dokumentace, potazmo cely quickstart, je pro 5.3+ s namespaces (s addons to je horsi, ale na tom se pracuje, ze:-)
Editoval hAssassin (31. 5. 2012 3:06)
- jtousek
- Člen | 951
LeonardoCA napsal(a):
Neřekl bych, že je to zcela v pořádku. Je to nedostatek dokumentace. Pro začátečníka je opravdu těžké, si tyhle věci uvědomit. Chtělo by to vymyslet způsob jak dokumentovat srozumitelně a všechny verzi současně.
To mi nepřipadá moc reálné. Ale je fakt, že na stránce downloadu i v dokumentaci úplně chybí zdůraznění, že dokumentace je psaná výhradně pro doporučenou namespacovanou verzi Nette. To v pořádku rozhodně není.
- Tharos
- Člen | 1030
@jtousek: Proklikal jsem si teď namátkou několik
stránek z dokumentace (formuláře, vytvořte si první aplikaci,
routování…) a všude se to klíčovým slovem use
jen hemží.
V části věnované vytvoření první aplikace je dokonce odkaz na popis
jmenných prostorů v PHP manuálu.
Z mého pohledu rozhodně není v pořádku, když se chystá Nette učit někdo, kdo z dokumentace na první pohled nepozná, že je psaná pro PHP 5.3. :) Takový člověk by měl začít samotným PHP a OOP, nikoliv MVC frameworkem. Má-li jeho studium vést k nějakému rozumnému výsledku.
Editoval Tharos (31. 5. 2012 9:38)
- Filip Procházka
- Moderator | 4668
Na stránce download klikáš na odkaz „Nette Framework 2.0.3 pro PHP 5.3 nebo 5.4“ – to je ti málo?