From 90589fd63b2882435f41d5c088731653981c2420 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20CHAZALLET?= Date: Sat, 1 Dec 2012 12:04:43 +0100 Subject: [PATCH] =?utf8?q?Rajout=20mod=C3=A8le=20Contact=20(avec=20Hydrator)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- module/Galerie/Module.php | 18 ++++++++ module/Galerie/src/Galerie/Model/Contact.php | 44 ++++++++++++++++++++ .../Model/contact.defaultinputfilter.config.php | 10 +++++ 3 files changed, 72 insertions(+) create mode 100644 module/Galerie/src/Galerie/Model/Contact.php create mode 100644 module/Galerie/src/Galerie/Model/contact.defaultinputfilter.config.php 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'), + ), + ), +); -- 1.7.10.4