Rajout du logging
[zf2.biz/galerie.git] / module / Galerie / Module.php
index ab7faad..2bf435e 100644 (file)
@@ -11,12 +11,23 @@ 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 Zend\Log\Logger;
+use Zend\Log\Writer\Stream as LogStream;
 
 use Galerie\Model\GalerieTable;
 use Galerie\Model\GalerieInfoTable;
+use Galerie\Model\Contact;
+
 use Galerie\Form\GalerieForm;
+use Galerie\Export\GalerieWorkbook;
+use Galerie\Mail\MailSender;
 
 use Custom\View\Helper\Format;
+use Custom\Model\PairManager;
 
 
 class Module implements
@@ -54,6 +65,7 @@ class Module implements
 
     public function getServiceConfig()
     {
+        $config = $this->getConfig();
         return array(
             'factories' => array(
                 'Galerie\Model\GalerieTable' => function($sm) {
@@ -72,6 +84,37 @@ class Module implements
                     $result->initialize();
                     return $result;
                 },
+                'Galerie\Export\GalerieWorkbook' => function ($sm) {
+                    return new GalerieWorkbook;
+                },
+                'Galerie\Mail\MailSender' => function($sm) use ($config) {
+                    $result = new MailSender;
+                    $result::initialize($config['mail']);
+                    return $result;
+                },
+                'Galerie\Model\GaleriePairTable' => function($sm) {
+                    return new PairManager(
+                        $sm->get('Zend\Db\Adapter\Adapter'),
+                        'gallery'
+                    );
+                },
+                'Galerie\Model\ContactTable' => function($sm) {
+                    return new TableGateway(
+                        'contact',
+                        Zend\Db\TableGateway\TableGateway,
+                        null,
+                        new HydratingResultSet(
+                            new HydratorClassMethods,
+                            new Contact
+                        )
+                    );
+                },
+                'Zend\Log' => function ($sm) {
+                    $log = new Logger();
+                    $writer = new LogStream('/var/git/zf2biz/galerie/data/logs/info.log');
+                    $log->addWriter($writer);
+                    return $log;
+                },
             ),
         );
     }