Skip to content

Commit

Permalink
Merge pull request #3 from snapshotpl/refactor
Browse files Browse the repository at this point in the history
Module refactor
snapshotpl committed May 14, 2015
2 parents 3d3df76 + b10e32d commit 8a310f6
Showing 9 changed files with 270 additions and 100 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -11,11 +11,11 @@ Add dependencies to composer.json:
```json
{
"require-dev": {
"snapshotpl/zf-snap-event-debugger": "dev-master"
"snapshotpl/zf-snap-event-debugger": "1.*"
}
}
```

And add module `ZfSnapEventDebugger` in `appilcation.config.php`
And add module `ZfSnapEventDebugger` in `appilcation.config.php`. That's it! You don't need to require and enable ZendDeveloperTools module!

![Screenshot](http://www.psd2html.pl/img/eventmanager.png)
13 changes: 7 additions & 6 deletions config/module.config.php
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
return array(
'service_manager' => array(
'invokables' => array(
'eventListeners' => 'ZfSnapEventDebugger\Collector',
'ZfSnapEventDebugger\Collector' => 'ZfSnapEventDebugger\Collector',
)
),
'view_manager' => array(
@@ -14,13 +14,14 @@
'zenddevelopertools' => array(
'profiler' => array(
'collectors' => array(
'eventListeners' => 'eventListeners',
'ZfSnapEventDebugger\Collector' => 'ZfSnapEventDebugger\Collector',
)
),
'toolbar' => array(
'enabled' => true,
'entries' => array(
'eventListeners' => 'zend-developer-tools/toolbar/event-listeners',
)
)
)
'ZfSnapEventDebugger\Collector' => 'zend-developer-tools/toolbar/event-listeners',
),
),
),
);
23 changes: 17 additions & 6 deletions src/ZfSnapEventDebugger/Collector.php
Original file line number Diff line number Diff line change
@@ -12,25 +12,36 @@
*/
class Collector extends AbstractCollector
{

/**
* @param MvcEvent $mvcEvent
*/
public function collect(MvcEvent $mvcEvent)
{
$param = EventDebuggerListener::SELF_PARAM_NAME;
/* @var $listener EventDebuggerListener */
$listener = $mvcEvent->getParam($param);
$listener = $mvcEvent->getParam(TriggerEventListener::SELF_PARAM_NAME);

$this->data = $listener === null ? array() : $listener->getEvents();
$this->data = $listener->getEvents();
}

/**
* @return string
*/
public function getName()
{
return 'eventListeners';
return __CLASS__;
}

/**
* @return int
*/
public function getPriority()
{
return 100;
return -1000;
}

/**
* @return Entity\Event[]
*/
public function getResult()
{
return $this->data;
80 changes: 80 additions & 0 deletions src/ZfSnapEventDebugger/Entity/Event.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?php

namespace ZfSnapEventDebugger\Entity;

/**
* Event
*
* @author Witold Wasiczko <[email protected]>
*/
class Event
{
protected $id;
protected $name;

/**
* @var TriggerSource
*/
protected $triggerSource;

/**
* @var Listener[]
*/
protected $listeners = array();

/**
* @var Listener[]
*/
protected $sharedListeners = array();

public function getId()
{
return $this->id;
}

public function getName()
{
return $this->name;
}

public function getTriggerSource()
{
return $this->triggerSource;
}

public function getListeners()
{
return $this->listeners;
}

public function getSharedListeners()
{
return $this->sharedListeners;
}

public function setId($id)
{
$this->id = $id;
}

public function setName($name)
{
$this->name = $name;
}

public function setTriggerSource(TriggerSource $triggerSource)
{
$this->triggerSource = $triggerSource;
}

public function setListeners(array $listeners)
{
$this->listeners = $listeners;
}

public function setSharedListeners(array $sharedListeners)
{
$this->sharedListeners = $sharedListeners;
}

}
35 changes: 35 additions & 0 deletions src/ZfSnapEventDebugger/Entity/Listener.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

namespace ZfSnapEventDebugger\Entity;

/**
* Listener
*
* @author Witold Wasiczko <[email protected]>
*/
class Listener
{
protected $priority;
protected $name;

public function getPriority()
{
return $this->priority;
}

public function getName()
{
return $this->name;
}

public function setPriority($priority)
{
$this->priority = $priority;
}

public function setName($name)
{
$this->name = $name;
}

}
35 changes: 35 additions & 0 deletions src/ZfSnapEventDebugger/Entity/TriggerSource.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

namespace ZfSnapEventDebugger\Entity;

/**
* TriggerSource
*
* @author Witold Wasiczko <[email protected]>
*/
class TriggerSource
{
protected $filename;
protected $line;

public function getFilename()
{
return $this->filename;
}

public function getLine()
{
return $this->line;
}

public function setFilename($filename)
{
$this->filename = $filename;
}

public function setLine($line)
{
$this->line = $line;
}

}
6 changes: 4 additions & 2 deletions src/ZfSnapEventDebugger/Module.php
Original file line number Diff line number Diff line change
@@ -19,10 +19,12 @@ class Module implements InitProviderInterface, ConfigProviderInterface, Autoload
*/
public function init(ModuleManagerInterface $manager)
{
$sharedManager = $manager->getEventManager()->getSharedManager();
$listener = new TriggerEventListener();

$listener = new EventDebuggerListener();
$sharedManager = $manager->getEventManager()->getSharedManager();
$sharedManager->attachAggregate($listener);

$manager->loadModule('ZendDeveloperTools');
}

/**
Loading

0 comments on commit 8a310f6

Please sign in to comment.