Zend_Validate_Identical

Úplně mi uniklo, že do Zendu (už před rokem) přibyl Zend_Validate_I­dentical.

S jeho pomocí můžeme porovnávat hodnotu ve formuláři proti nějaké hodnotě (používá to Zend_Form_Ele­ment_Hash), ale mnohem důležitější je, že ho můžeme použít pro porovnání proti jinému formulářovému poli. Nejtypičtějším příkladem je kontrola, zda se shodují zadaná hesla:

$this->addElement(new Zend_Form_Element_Password(array(
    'name' => 'password',
    'label' => 'Heslo:',
)));

$this->addElement(new Zend_Form_Element_Password(array(
    'name' => 'password2',
    'label' => 'Heslo (potvrzení):',
)));
$validator = new Zend_Validate_Identical('password');
$validator->setMessage('Hesla se neshodují!',
    Zend_Validate_Identical::NOT_SAME);
$this->getElement('password2')->addValidator($validator);

Takhle to je mnohem kratší a přehlednější, než psaní vlastního validátoru, který pracuje s proměnnou $context.

Výsledný formulář pak může vypadat třeba takto:

Martin H.

Zend_Validate – jak použít hotové přeložené hlášky?

Minule jsem psal o překladu chybových hlášek. Ten už je doladěný a přidal jsem issue, aby ho zařadili do ZF.

Teď krátce shrnu, jak ho použít ve své aplikaci:

Z příkazové řádky si vygenerujeme čistou aplikaci a vytvoříme formulář:

zf create project validate
cd validate
zf create form ValidateUkazka

Do projektu si přidáme soubor s překladem, cesta může pak vypadat třeba takto: $nazevProjektu\re­sources\langu­ages\cs\Zend_Va­lidate.php (validate je název projektu). Soubor s překladem bude doufám součástí další verze ZF (jsou je ve verzi full, ne v minimal). Mezitím si ho můžete stáhnout od ZF-11146 . Soubor s překladem je součástí full verze ZF.

Do Bootstrap.php přidáme (viz manuál):

protected function _initValidateTranslator()
{
        $translator = new Zend_Translate(array(
                'adapter' => 'array',
                'content' => APPLICATION_PATH . '/../resources/languages',
                'locale'  => 'cs',
        ));
        Zend_Validate_Abstract::setDefaultTranslator($translator);
}

A validovaný formulář může pak vypadat třeba takto: 

Martin H.

Zend_Tool – instalace a použití – screencast

Ahoj, připravili jsme pro vás screencast o instalaci a použití Zend_Tool.

Zend Framework – Zend_Tool (Czech) from Martin Hujer on Vimeo.

(přepněte si na fullscreen)

Chybky:

  • V 1.10 už bude opravené (ZF-7743), aby se controllery v modulech vytvářely s prefixem modulu
  • Fatal error při vytváření action do neexistujícího controlleru už v aktuální incubator verzi nevyskakuje (asi také bude v 1.10)
  • Zareportoval jsem dva bugy:
    • ZF-8305 – Při vytváření controlleru do neexistujícího modulu to končí na Fatal Error
    • ZF-8306 – Při přidání modulu by se měly aktivovat v application.ini

Na to, že už to je součástí oficiální distribuce ZF od verze 1.8, tak to moc vychytané není. Ale v některé z dalších verzí by mělo být přidáno vytváření formulářů, modelů, práce s layoutem…

Nicméně stále je to použitelné na vygenerování základní kostry aplikace. I s těmi chybami a tak. Máme hotový index.php a základní složky. Ušetří to pár kliků a i to se počítá.

Martin Hujer & Tomáš Fejfar

Zend_Captcha

Zend_Captcha

Zend_Captcha přináší do Zend Frameworku podporu pro ověřovací obrázky na rozpoznání, zda stránku opravdu navštívil člověk. V distibuci ZF bude obsaženo několik typů captcha ověřování – Figlet, Image a ReCaptcha. Figlet generuje ASCII art, Image je nejčastěji používaný obrázek s textem a reCaptcha.

Continue reading

Zend_Paginator

Vzhledem k blížícímu se vydání Zend Frameworku 1.6.0 GA bych rád probral některé významných změn v nové verzi.

Zend_Paginator

Zend_Paginator je komponenta, která zjednodušuje výpis stránkovaných dat na nejjednodušší možnou míru.

  • umí stránkovat jakákoliv data, ne jen výsledek z databáze
  • při použití databáze se načítá jen nezbytné množství výsledků (na #zftalk někdo mluvil o bezproblémovém použití i s 2 miliony záznamů v tabulce)
  • umožňuje libovolný výpis ovládání stránkování (pomocí partials)

    Continue reading