Skip to content

Commit

Permalink
Merge pull request #11 from tastphp/v1.3.2
Browse files Browse the repository at this point in the history
Removed RequestListener&&Modify ListenerRegisterService Logic
  • Loading branch information
xujiajun authored Jul 17, 2017
2 parents b5ae6be + cef8b21 commit 56cc052
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 18 deletions.
6 changes: 5 additions & 1 deletion docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,8 @@
* Fixed phpunit config

## v1.3.0 (2017-07-12)
* Added implement PSR-7: HTTP Message Interfaces
* Added implement PSR-7: HTTP Message Interfaces

## v1.3.2 (2017-07-17)
* Removed RequestListener
* Modify ListenerRegisterService Logic
2 changes: 1 addition & 1 deletion src/Framework/Kernel.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class Kernel extends Container
public function __construct(array $values = [])
{
$start = microtime(true);
$this['version'] = 'v1.1.0';
$this['version'] = 'v1.3.2';
$this['start_time'] = $start;
self::$instance = $this;
parent::__construct($values);
Expand Down
13 changes: 0 additions & 13 deletions src/Framework/Listener/RequestListener.php

This file was deleted.

24 changes: 21 additions & 3 deletions src/Framework/ListenerRegister/ListenerRegisterService.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,35 @@ public function register(Container $app)
$this->registerKernelListeners($app);

$listeners = $this->parseListenerConfig();

foreach ($listeners as $listener) {
if (empty($listener['listener']) || empty($listener['callback']) || empty($listener['event'])) {
throw new \InvalidArgumentException("property is not defined in listener config.");
}

if (!class_exists($listener['listener'])) {
throw new \Exception("Class " . $listener['listener'] . " not found !");
}

if (!is_callable([$listener['listener'], $listener['callback']])) {
throw new \BadFunctionCallException('Function ' . $listener['callback'] . ' is not callable');
}

if (empty($listener['priority'])) {
$listener['priority'] = 0;
}
$app['eventDispatcher']->addListener($listener['event'], [new $listener['listener'], $listener['callback']], $listener['priority']);
}

}

private function registerKernelListeners($app)
{
$listeners = \Kernel::getInstance()->getListeners();

foreach ($listeners as $eventName => $listener) {
list($listener, $callback) = explode('@', $listener);
if (!class_exists($listener)) {
continue;
}
$app['eventDispatcher']->addListener($eventName, [new $listener(), $callback]);
}
}
Expand All @@ -40,12 +53,17 @@ private function parseListenerConfig($listenerConfigAll = [])
{
$array = [];
$listenersConfigs = \Config::parse('listeners');

foreach ($listenersConfigs as $listenerConfig) {
$resource = ($listenerConfig['resource']);

if (is_file(__BASEDIR__ . "/src/" . $resource) && file_exists(__BASEDIR__ . "/src/" . $resource)) {
$array = \Yaml::parse(file_get_contents(__BASEDIR__ . "/src/" . $resource));
}
$listenerConfigAll = array_merge($listenerConfigAll, $array);

if (is_array($array)) {
$listenerConfigAll = array_merge($listenerConfigAll, $array);
}
}

return $listenerConfigAll;
Expand Down

0 comments on commit 56cc052

Please sign in to comment.