Gestion des courriels : exemple
[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
15 use Galerie\Model\GalerieTable;
16 use Galerie\Model\GalerieInfoTable;
17 use Galerie\Form\GalerieForm;
18 use Galerie\Export\GalerieWorkbook;
19 use Galerie\Mail\MailSender;
20
21 use Custom\View\Helper\Format;
22
23
24 class Module implements
25     AutoloaderProviderInterface,
26     ConfigProviderInterface,
27     BootstrapListenerInterface,
28     ServiceProviderInterface,
29     ViewHelperProviderInterface
30 {
31
32     public function getAutoloaderConfig() 
33     { 
34         return array( 
35             'Zend\Loader\ClassMapAutoloader' => array( 
36                 __DIR__ . '/autoload_classmap.php', 
37             ), 
38             'Zend\Loader\StandardAutoloader' => array( 
39                 'namespaces' => array( 
40                     __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
41                 ), 
42             ), 
43         ); 
44     }
45
46     public function getConfig()
47     {
48         return include __DIR__ . '/config/module.config.php';
49     }
50
51     public function onBootstrap(EventInterface $e)
52     {
53         $translator = $e->getApplication()->getServiceManager()->get('translator');
54         \Zend\Validator\AbstractValidator::setDefaultTranslator($translator, 'val');
55     }
56
57     public function getServiceConfig()
58     {
59         $config = $this->getConfig();
60         return array(
61             'factories' => array(
62                 'Galerie\Model\GalerieTable' => function($sm) {
63                     return new GalerieTable(
64                         $sm->get('Zend\Db\Adapter\Adapter')
65                     );
66                 },
67                 'Galerie\Model\GalerieInfoTable' => function($sm) {
68                     return new GalerieInfoTable(
69                         $sm->get('Zend\Db\Adapter\Adapter')
70                     );
71                 },
72                 'Galerie\Form\GalerieForm' => function($sm) {
73                     $result = new GalerieForm;
74                     $result->setTranslator($sm->get('translator'), 'galerie');
75                     $result->initialize();
76                     return $result;
77                 },
78                 'Galerie\Export\GalerieWorkbook' => function ($sm) {
79                     return new GalerieWorkbook;
80                 },
81                 'Galerie\Mail\MailSender' => function($sm) use ($config) {
82                     $result = new MailSender;
83                     $result::initialize($config['mail']);
84                     return $result;
85                 },
86             ),
87         );
88     }
89
90     public function getViewHelperConfig() 
91     { 
92         return array( 
93             'factories' => array( 
94                 'format' => function($sm) { 
95                     return new Format;
96                 }, 
97             ), 
98         ); 
99     } 
100     
101     
102     
103     
104 }