From: Sébastien CHAZALLET Date: Sat, 1 Dec 2012 11:04:43 +0000 (+0100) Subject: Rajout modèle Contact (avec Hydrator) X-Git-Url: http://git.inspyration.org/?p=zf2.biz%2Fgalerie.git;a=commitdiff_plain;h=90589fd63b2882435f41d5c088731653981c2420 Rajout modèle Contact (avec Hydrator) --- diff --git a/module/Galerie/Module.php b/module/Galerie/Module.php index a151295..514869b 100644 --- a/module/Galerie/Module.php +++ b/module/Galerie/Module.php @@ -11,9 +11,15 @@ use Zend\ModuleManager\Feature\ViewHelperProviderInterface; use Zend\EventManager\EventInterface; use Zend\Mvc\ModuleRouteListener; +use Zend\Stdlib\Hydrator\ClassMethods as HydratorClassMethods; +use Zend\Db\ResultSet\HydratingResultSet; +use Zend\Db\TableGateway\TableGateway; + use Galerie\Model\GalerieTable; use Galerie\Model\GalerieInfoTable; +use Galerie\Model\Contact; + use Galerie\Form\GalerieForm; use Galerie\Export\GalerieWorkbook; use Galerie\Mail\MailSender; @@ -90,6 +96,18 @@ class Module implements 'gallery' ); }, + 'Galerie\Model\ContactTable' => function($sm) { + return new TableGateway( + 'contact', + Zend\Db\TableGateway\TableGateway + null, + new HydratingResultSet( + new HydratorClassMethods, + new Contact + ); + ); + + } ), ); } diff --git a/module/Galerie/src/Galerie/Model/Contact.php b/module/Galerie/src/Galerie/Model/Contact.php new file mode 100644 index 0000000..71bb526 --- /dev/null +++ b/module/Galerie/src/Galerie/Model/Contact.php @@ -0,0 +1,44 @@ +inputFilter) { + $this->inputFilter = include __DIR__ . '/contact.defaultinputfilter.config.php'; + } + return $this->inputFilter; + } + +} + + + +use Zend\Stdlib\Hydrator; +$hydrator = new Hydrator\ArraySerializable(); + +$object = new ArrayObject(array()); + +$hydrator->hydrate($someData, $object); + +// or, if the object has data we want as an array: +$data = $hydrator->extract($object); diff --git a/module/Galerie/src/Galerie/Model/contact.defaultinputfilter.config.php b/module/Galerie/src/Galerie/Model/contact.defaultinputfilter.config.php new file mode 100644 index 0000000..d8fdcab --- /dev/null +++ b/module/Galerie/src/Galerie/Model/contact.defaultinputfilter.config.php @@ -0,0 +1,10 @@ + 'id', + 'required' => true, + 'filters' => array( + array('name' => 'Int'), + ), + ), +);