-
Notifications
You must be signed in to change notification settings - Fork 3
/
Module.php
57 lines (49 loc) · 1.6 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
<?php
namespace Skpd\ProfilerToolbar;
use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\ModuleManager\Feature\InitProviderInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
use Zend\Config\Config;
use Zend\ModuleManager\ModuleManagerInterface;
use ZendDeveloperTools\ProfilerEvent;
class Module implements AutoloaderProviderInterface, ConfigProviderInterface, InitProviderInterface
{
/**
* Initialize workflow
*
* @param ModuleManagerInterface $manager
* @return void
*/
public function init(ModuleManagerInterface $manager)
{
$eventManager = $manager->getEventManager();
$eventManager->attach(ProfilerEvent::EVENT_PROFILER_INIT, function () {
xhprof_enable(XHPROF_FLAGS_MEMORY);
});
}
public function getConfig()
{
$config = new Config(array());
if (is_dir(__DIR__ . '/config')) {
$iterator = new \RegexIterator(new \DirectoryIterator(__DIR__ . '/config'), '#\.config\.php$#i');
foreach ($iterator as $file) {
/** @var $file \DirectoryIterator */
if ($file->isReadable()) {
$subConf = new Config(include $file->getRealPath());
$config->merge($subConf);
}
}
}
return $config;
}
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src',
),
),
);
}
}