[2010–04–14] Vyšla stabilní verze 0.9.4
- David Grudl
- Nette Core | 8227
Světlo světa spatřila nová stabilní verze 0.9.4. Ta především opravuje řadu chybiček, jejichž kompletní výčet najdete v changelogu. Zároveň také přináší několik vylepšení:
- podpora vícevláknového kešování pomocí callbacků a dramatické zrychlení RobotLoaderu
- aliasy
login(), logout() a isLoggedIn()
- odstraněn Session::$verificationKeyGenerator
- při spuštení
Nette\Application
se automaticky nastartuje session, je-li přítomno session-ID - přidáno
Identity::__isset()
Formuláře:
- lze používat placeholdery
%label, %name a %value
ve výchozích chybových zprávách - vypnutí překladače na určitém prvku nevypne překládání chybových zpráv
- zaměněno
<form name="...">
za<form id="...">
Šablony
- v modifikátorech lze používat mezery (např.
{$var |truncate : 30}
) a klíčová slovatrue, false, null
- přidáno makro
{var ...}
jako alias pro{assign ...}
- je podporován zápis
{var item => value}
i{var $item => value}
Upgrade na 0.9.4 je doporučený.
- Patrik Votoček
- Člen | 2221
David Grudl napsal(a):
- je podporován zápis
{var item => value}
i{var $item => value}
a co {var $item => $value}
???
- Honza Kuchař
- Člen | 1662
při spuštení Nette\Application se automaticky nastartuje session, je-li přítomno session-ID
Není to dost magické? A nastává problém, pokud uživatel požaduje ze serveru informace ve více vláknech.
Díky za další stable verzi! :-)
Editoval honzakuchar (14. 4. 2010 10:47)
- David Grudl
- Nette Core | 8227
{var $item => $value}
používat vždycky šlo, nakonec
nejsnažší je to vyzkoušet, ne? ;)
Chyba s FileStorage byla odstraněna již v únoru.
ad startování sessions: za ty dva měsíce, co se tak děje, jsem zaznamenal úbytek vláken na téma „nelze odeslat HTTP hlavičky“, tedy pokud lze zaznamenat úbytek ;) Komplikaci v tom nevidím.
- Honza Kuchař
- Člen | 1662
Jasne, když o tom vím, tak si to pohlídám. ;) Ale určitě teď těch dotazů ubude. Vyšla stabilní verze. Což je třeba pro mně klíčové. :)
- Patrik Votoček
- Člen | 2221
David Grudl napsal(a):
{var $item => $value}
používat vždycky šlo, nakonec nejsnažší je to vyzkoušet, ne? ;)
Nejsnažší je se zeptat… :-) Nevim jestli to fungovalo nebo ne nepoužívám to ve výčtu to chybělo tak jsem se zeptal… :-) (ach ta lenost)
- MzK
- Člen | 127
objevil jsem změnu ve chování šablon:
<?php
// šablona.phtml
…dne: {!$datum|date}
?>
<?php
//Presenter:
$tpl = new Template(APP_DIR.'/templates/_emails/unfinishedDomain.phtml');
$tpl->registerFilter(new CurlyBracketsFilter); // musi se davat?
$tpl->datum = $datum;
$tpl->render();
?>
Vyhodí tuto chybu:
MemberAccessException
Call to undefined method Template::date().
Říkám si, to je divné, v ostatních šablonách přímo ve frameworku mi
to funguje.
Pokud je šablona vytvořená přes
$this->template->date tak to funguje (šablona pro aplikaci). Chyba se
objeví, pokud chci šablonu použít „samostatně“ např pro
HTML email.
Náprava je jednoduchá, do presenteru musím přidat toto:
<?php
$tpl->registerHelper('date', 'TemplateHelpers::date');
?>
V předchozí verzi to nebylo potřeba. Je to záměr či bug?
Editoval zacatecnik (19. 4. 2010 21:52)
- Patrik Votoček
- Člen | 2221
TO bude imho tím že nemáš registrované standartní helpery.
Vzhledem k tomu že tohle asi máš v presenteru:
//Presenter: $tpl = new Template(APP_DIR.'/templates/_emails/unfinishedDomain.phtml'); $tpl->registerFilter(new CurlyBracketsFilter); // musi se davat?
Tak bych ti doporučil to zaměnit za:
//Presenter:
$tpl = $this->createTemplate();
$tpl->setFile(APP_DIR.'/templates/_emails/unfinishedDomain.phtml');
Editoval vrtak-cz (19. 4. 2010 23:18)
- Jan Tvrdík
- Nette guru | 2595
David Grudl napsal(a):
- přidáno makro
{var ...}
jako alias pro{assign ...}
- je podporován zápis
{var item => value}
i{var $item => value}
Která z nyní přípustných 4 variant je preferovaná, tj. prosazovaná v dokumentaci a v oficiálních příkladech?
- Honza Marek
- Člen | 1664
Čim jinější než původní assign, tím to asi bude doporučenější. Protože kdyby to nebylo doporučené, tak by to nebylo implementované.