forked from speckcommerce/SpeckCart
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Module.php
72 lines (64 loc) · 2.45 KB
/
Module.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/ZendSkeletonModule for the canonical source repository
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace SpeckCart;
use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\Mvc\ModuleRouteListener;
class Module implements AutoloaderProviderInterface
{
public function getServiceConfig()
{
return array(
'factories' => array(
'SpeckCart\Service\CartService' => function($sm) {
$service = new Service\CartService;
$service->setItemMapper($sm->get('SpeckCart\Mapper\CartItemMapperZendDb'));
$service->setCartMapper($sm->get('SpeckCart\Mapper\CartMapperZendDb'));
$service->setEventManager($sm->get('EventManager'));
$service->attachDefaultListeners();
return $service;
},
'SpeckCart\Mapper\CartMapperZendDb' => function($sm) {
$mapper = new Mapper\CartMapperZendDb;
$mapper->setDbAdapter($sm->get('speckcart_db_adapter'));
return $mapper;
},
'SpeckCart\Mapper\CartItemMapperZendDb' => function($sm) {
$mapper = new Mapper\CartItemMapperZendDb;
$mapper->setDbAdapter($sm->get('speckcart_db_adapter'));
return $mapper;
},
),
);
}
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function onBootstrap($e)
{
// You may not need to do this if you're doing it elsewhere in your
// application
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
}
}