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 Framework 1.11.4 vydán

Před malou chvílí byla vydána další opravná verze ve větvi 1.11 – 1.11.4.

Opravuje chyby z předchozích verzí a jednu bezpečnostní mezeru – ZF2011–01 – možné XSS při ponechání development modu v aplikaci vygenerované pomocí Zend_Tool (detaily na http://framework.zend.com/…ry/ZF2011-01)

Odkazy:

1.11.0

O téhle verzi jsem úplně zapomněl napsat, takže tedy jen stručně. Oznámení na devzone

  • podpora pro mobilní zařízení – přibyla třída Zend_Http_Use­rAgent, která umožňuje rozpoznávat typ prohlížeče a zároveň jeho možnosti
  • Zend_Cloud (SimpleCloud API) – jednotné API pro přístup k různý cloud službám
  • Dojo bylo aktualizováno na verzi 1.5
  • podpora JSON a YAML v Zend_Config
  • podpora pro zkracování URL – (ode mě :-) ) – Zend_Service_Shor­tUrl – tinyurl.com, is.gd, metamark.net a jdem.cz

Martin H.

Zend Framework 1.10.4 vydán

Včera byla vydána další opravná verze ve větvi 1.10 – 1.10.4. (o verzi 1.10.3 jsem zapomněl napsat, omlouvám se).

Tato bugfix verze obsahuje přibližně 50 oprav, převážně vyřešených během dubnových BugHunt dnů

Zajímavé jsou tyto opravy:

  • ZF-7493: vylepšení serializace v Zend_Amf, které by mělo přinést 200–300% zrychlení u velkých datasetů
  • ZF-9263: fix Zend_Loader::is­Readable(), který opravuje regresi – vyhazování warningů na Windows při načítání resources a pluginů
  • ZF-9504: patch do Zend_XmlRpc_Value výrazně zefektivňuje generování hodnot

Odkazy:

Zend Framework 1.10.2 vydán a ZF 2.0 už má branch

Byla vydána druhá opravné verze Zend Frameworku 1.10

Ale to důležité je, že byla vytvořena branch pro Zend Framework 2.0, ale bude tam probíhat velmi dynamický vývoj, takže to zatím není ani na experimenty.

A co že se stane v první fázi?

  • budou odebrány všechna volání require_once
  • z testů budou odebrány AllTests, protože už s novou verzí PHPUnitu nejsou potřeba
  • TestHelper.php bude použitý jako PHPUnit bootstrap, takže ho nebude nutné vkládat přes require_once do každého testu
  • převod na namespace (nejdříve automatický, pak doladěno ručně)
  • nový plugin systém, který by měl přinést výrazné zrychlení

Zend Framework 1.10.0 vydán

Ahoj,

ve středu vyšla nová verze Zend Frameworku – 1.10.0.

Kromě nových funkcí uvedených níže byla vylepšena online dokumentace – bylo přidáno obarvování kódu, zpřehledněna struktura a je možné prohlížet i dokumentaci pro starší verze.

Changelog verze 1.10.0

Byly přidány tyto nové funkce:

  • Zend_Barcode, contributed by Mickael Perraud
  • Zend_Cache_Bac­kend_Static, contributed by Pádraic Brady
  • Zend_Cache_Manager, contributed by Pádraic Brady
  • Zend_Exception – previous exception support, contributed by Marc Bennewitz
  • Zend_Feed_Pub­subhubbub, contributed by Pádraic Brady
  • Zend_Feed_Writer, contributed by Pádraic Brady
  • Zend_Filter_Bo­olean, contributed by Thomas Weidner
  • Zend_Filter_Com­press/Decompres­s, contributed by Thomas Weidner
  • Zend_Filter_Null, contributed by Thomas Weidner
  • Zend_Log::fac­tory(), contributed by Mark van der Velden and Martin Roest (of ibuildings)
  • Zend_Log_Writer_Zen­dMonitor, contributed by Matthew Weier O'Phinney
  • Zend_Markup, contributed by Pieter Kokx
  • Zend_Oauth, contributed by Pádraic Brady
  • Zend_Serializer, contributed by Marc Bennewitz
  • Zend_Service_De­veloperGarden, contributed by Marco Kaiser
  • Zend_Service_Li­veDocx, contributed by Jonathan Marron
  • Zend_Service_Win­dowsAzure, contributed by Maarten Balliauw
  • Zend_Validate_Bar­code, contributed by Thomas Weidner
  • Zend_Validate_Ca­llback, contributed by Thomas Weidner
  • Zend_Validate_Cre­ditCard, contributed by Thomas Weidner
  • Zend_Validate_Pos­tCode, contributed by Thomas Weidner
  • Zend_Pdf – parsování zrychleno o přibližně 40%
  • nové resources pro Zend_Application – Cachemanager, Dojo, Jquery, Layout, Log, Mail, and Multidb
  • Refaktoring Zend_Loader::lo­adClass() pro podporu namespaců v PHP 5.3
  • Dojo aktualizováno na verzi 1.4
  • vylepšeno Zend_Tool

Oznámení na devzone

Zend Framework 1.9.7, 1.8.5, a 1.7.9 vydán

Pádraic Brady se trošku pošťoural v Zend_Filter_Strip­Tags, našel XSS zranitelnost v případě, že jsou komentáře nastavené jako nefiltrovat (IE umožňuje podmíněná CSSka pomocí komentářů). Výsledkem bylo, že udělal předběžný bezpečnostní audit celého ZF, kdy našel několik dalších drobných zranitelností.

Zend spustil novou stránku o tom, jak informovat o případném nálezu zranitelnosti a vydal opravné verze v posledních třech větvích – 1.9.7, 1.8.5, a 1.7.9.

Verze 1.9.7 je poslední plánovaná ve větvi 1.9 (pokud například někdo neobjeví nějakou další zranitelnost). V prosinci byla totiž vydána alfa verze 1.10, tento týden by měla přijít beta a koncem měsíce finální verze.

Zend_Auth – přihlašování a kontrola – screencast

Ahoj, natočili jsme pro vás předvánoční screencast o Zend_Auth, uvidíte jak vyřešit přihlašování uživatelů a následnou kontrolu, zda mají přístup do některých částí aplikace.

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

Přihlašování a odhlašování pomocí Zend_Auth, kontrola controller pluginem

(přepněte si na fullscreen)

Stáhněte si zdrojáky k aplikaci

EDIT: Omlouváme se za chybičku v aplikaci, samozřejmě v Controller_Plu­gin_Auth má být $controller == ‚index‘ místo $controller = ‚index‘. (V přiložených zdrojácích opraveno.)

Martin Hujer & Tomáš Fejfar