Pár dotazů hlavně na davida

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

Jelikož právě dodělávám poslední úpravy na jednom projektu který bych chtěl uvolnit (možná už koncem týdne, nejdéle však koncem srpna) i pro ostatní. Tak bych rád věděl pár věcí.

Nové šablony

Existuje někde popis a informace o tom jak přesně fungují ty nové šablony? Mám základní ponětí (podle toho co se říkalo na poslední PS v brně) jak to asi je ale nejsem si jist a hodilo by se mít někde na jednom místě napsané co a jak. Bohužel jsem se však nedostal na PS do Pardubic kde o tom asi byla přednáška. Takže otázka je jednoduchá je to někde sepsáno? (jde mě hlavně o dědičnost šablon a nutnost/nenutnost psát extends + řešení $layout).

Je správné že jsem takřka všude nahradil konstrukci:

public function actionDefault()
{
	$form = new AppForm($this, "loginForm");
	...
	$this->template->form = $form;
}

a v šabloně pak

{!$form}

za

public function createComponentLoginForm($name)
{
	$form = new AppForm($this, $name);
	...
	return $form;
}

a v šabloně

{control loginForm}

Stable verze 0.9 resp. 0.9.1

Někde jsem tu na fóru narazil že by měla brzo být stable verze 0.9/0.9.1 . Bude? Kdy? Protože se nechci ochuzovat o možnosti a novinky které nabízí 0.9tka a zase mě příde blbé dělat závistlost na vývojové verzi (na přesně dané revizi).

Validace formuláře v modelu

více zde: https://forum.nette.org/…iewtopic.php?…

PS: Možná mě ještě něco napadne tak to doplním.

Jan Tvrdík
Nette guru | 2595
+
0
-

vrtak-cz napsal(a):

Nové šablony

Takže otázka je jednoduchá je to někde sepsáno?

Nevím o tom. Prostudij si příklady v distribuci a jeden Davidův post.

Je správné že jsem takřka všude nahradil konstrukci:

Ano.

Stable verze 0.9 resp. 0.9.1

Protože se nechci ochuzovat o možnosti a novinky které nabízí 0.9tka a zase mě příde blbé dělat závistlost na vývojové verzi (na přesně dané revizi).

Proč se domníváš, že při používání 0.9 máš kód závislý na přesně dané revizi? Pokud nepoužiješ ultra-experimentální věci (většinou věci mladší než týden), tak je vše kompatibilní a případně změny nejsou problém.

Editoval Jan Tvrdík (4. 8. 2009 13:57)

Patrik Votoček
Člen | 2221
+
0
-

Jan Tvrdík napsal(a):

Nevím o tom. Prostudij si příklady v distribuci a jeden Davidův post.

Dík za nakopnutí úplně jsem na to vlákno zapoměl.
A tak mě napadá jak je to s tím $this->template->setLayou("@MyLaout.phtml"); a jaký je rozdíl mezi:
layout:

...
<body>
{block #content}{/block}
</body>
...

šablona:

{block #content}Text{/block}

a layout:

...
<body>
{include #content}
</body>
...

???

Je správné že jsem takřka všude nahradil konstrukci:

Ano.

Super

Proč se domníváš, že při používání 0.9 máš kód závislý na přesně dané revizi? Pokud nepoužiješ ultra-experimentální věci (většinou věci mladší než týden), tak je vše kompatibilní a případně změny nejsou problém.

Asi jsme se špatně pochopili. Ale když to vemu tak jak na to koukáš ty tak příjde revize ve které bude nějáky BCbrake a mě to kvuli tomu přestane fungovat takže bych to stejně musel zakonzervovat na pár otestovaných revizích. Jinak zatím mám nette v svnku jako external tzn. 3× denně dělám update takže dělám vždy na aktuální revizi která je v svnku nette (stejně i dibi). Prostě nemám jistotu že když si někdo stáhne mojí app a aktuální revizi nette že to bude 100% funkční. Stable verze je stable verze. (Teď by někdo mohl namítnout že mám teda používat 0.8 ale já nechci být ochuzen o featury které jsou v 0.9 ať už třeba nové šablony nebo super továrnička.

V souvyslosti s tím mě napadá jestli by nemohla existovat stable verze 0.9a/0.9.1a která by byla vpodstatě totožná s normální ale nebyly by v ní Deprecated věcičky. (Asi to bude vždy první revize po vydání stable větve).

romansklenar
Člen | 655
+
0
-

vrtak-cz napsal(a):

V souvyslosti s tím mě napadá jestli by nemohla existovat stable verze 0.9a/0.9.1a která by byla vpodstatě totožná s normální ale nebyly by v ní Deprecated věcičky. (Asi to bude vždy první revize po vydání stable větve).

Tohle není vůbec špatný nápad, i to tak teď s 0.8 bylo, ale tato revize jen nebyla nijak v svn otagována.

Jan Tvrdík
Nette guru | 2595
+
0
-

Osobně nemám s BC breaky problém, protože pokud se mě velmi vyjímečně nějaký dotkne, tak to lze většinou opravit do 5 minut (např. přidat do BasePresenteru parent::startup()). Poslední a snad jediný BC break, který se mě nějak dotkl byla revize 203.

Patrik Votoček
Člen | 2221
+
0
-

Jan Tvrdík napsal(a):

Osobně nemám s BC breaky problém, protože pokud se mě velmi vyjímečně nějaký dotkne, tak to lze většinou opravit do 5 minut (např. přidat do BasePresenteru parent::startup()). Poslední a snad jediný BC break, který se mě nějak dotkl byla revize 203.

Souhlasím prakticky nenastala situace kdy by se mě něco takového dotklo. Ale stát se to může a už jenom to že se to stát může je důvod k řešení. Možná jsem moc paranoidní. Ale opatrnost nadevše.

kravčo
Člen | 721
+
0
-

vrtak-cz napsal(a):

public function createComponentLoginForm($name)
{
	$form = new AppForm($this, $name);
	...
	return $form;
}

a v šabloně

{control loginForm}

Malo by stačiť:

public function createComponentLoginForm()
{
    $form = new AppForm;
    // ...
    return $form;
}

teda netreba uvádzať meno, keďže ho továrnička pozná a tiež sa postará o pridanie do stromu komponentov (ak treba), teda konštruktor AppFormu môže byť úplne bez parametrov…