Rajout du logging
[zf2.biz/galerie.git] / module / Galerie / Module.php
1 <?php
2
3 namespace Galerie;
4
5 use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
6 use Zend\ModuleManager\Feature\ConfigProviderInterface;
7 use Zend\ModuleManager\Feature\BootstrapListenerInterface;
8 use Zend\ModuleManager\Feature\ServiceProviderInterface;
9 use Zend\ModuleManager\Feature\ViewHelperProviderInterface;
10
11 use Zend\EventManager\EventInterface;
12 use Zend\Mvc\ModuleRouteListener;
13
14 use Zend\Stdlib\Hydrator\ClassMethods as HydratorClassMethods;
15 use Zend\Db\ResultSet\HydratingResultSet;
16 use Zend\Db\TableGateway\TableGateway;
17
18 use Zend\Log\Logger;
19 use Zend\Log\Writer\Stream as LogStream;
20
21 use Galerie\Model\GalerieTable;
22 use Galerie\Model\GalerieInfoTable;
23 use Galerie\Model\Contact;
24
25 use Galerie\Form\GalerieForm;
26 use Galerie\Export\GalerieWorkbook;
27 use Galerie\Mail\MailSender;
28
29 use Custom\View\Helper\Format;
30 use Custom\Model\PairManager;
31
32
33 class Module implements
34     AutoloaderProviderInterface,
35     ConfigProviderInterface,
36     BootstrapListenerInterface,
37     ServiceProviderInterface,
38     ViewHelperProviderInterface
39 {
40
41     public function getAutoloaderConfig() 
42     { 
43         return array( 
44             'Zend\Loader\ClassMapAutoloader' => array( 
45                 __DIR__ . '/autoload_classmap.php', 
46             ), 
47             'Zend\Loader\StandardAutoloader' => array( 
48                 'namespaces' => array( 
49                     __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
50                 ), 
51             ), 
52         ); 
53     }
54
55     public function getConfig()
56     {
57         return include __DIR__ . '/config/module.config.php';
58     }
59
60     public function onBootstrap(EventInterface $e)
61     {
62         $translator = $e->getApplication()->getServiceManager()->get('translator');
63         \Zend\Validator\AbstractValidator::setDefaultTranslator($translator, 'val');
64     }
65
66     public function getServiceConfig()
67     {
68         $config = $this->getConfig();
69         return array(
70             'factories' => array(
71                 'Galerie\Model\GalerieTable' => function($sm) {
72                     return new GalerieTable(
73                         $sm->get('Zend\Db\Adapter\Adapter')
74                     );
75                 },
76                 'Galerie\Model\GalerieInfoTable' => function($sm) {
77                     return new GalerieInfoTable(
78                         $sm->get('Zend\Db\Adapter\Adapter')
79                     );
80                 },
81                 'Galerie\Form\GalerieForm' => function($sm) {
82                     $result = new GalerieForm;
83                     $result->setTranslator($sm->get('translator'), 'galerie');
84                     $result->initialize();
85                     return $result;
86                 },
87                 'Galerie\Export\GalerieWorkbook' => function ($sm) {
88                     return new GalerieWorkbook;
89                 },
90                 'Galerie\Mail\MailSender' => function($sm) use ($config) {
91                     $result = new MailSender;
92                     $result::initialize($config['mail']);
93                     return $result;
94                 },
95                 'Galerie\Model\GaleriePairTable' => function($sm) {
96                     return new PairManager(
97                         $sm->get('Zend\Db\Adapter\Adapter'),
98                         'gallery'
99                     );
100                 },
101                 'Galerie\Model\ContactTable' => function($sm) {
102                     return new TableGateway(
103                         'contact',
104                         Zend\Db\TableGateway\TableGateway,
105                         null,
106                         new HydratingResultSet(
107                             new HydratorClassMethods,
108                             new Contact
109                         )
110                     );
111                 },
112                 'Zend\Log' => function ($sm) {
113                     $log = new Logger();
114                     $writer = new LogStream('/var/git/zf2biz/galerie/data/logs/info.log');
115                     $log->addWriter($writer);
116                     return $log;
117                 },
118             ),
119         );
120     }
121
122     public function getViewHelperConfig() 
123     { 
124         return array( 
125             'factories' => array( 
126                 'format' => function($sm) { 
127                     return new Format;
128                 }, 
129             ), 
130         ); 
131     } 
132     
133     
134     
135     
136 }