From 78c66a4dc309a8b6b453db0155c496833eb97793 Mon Sep 17 00:00:00 2001 From: Dmitry Khomutov Date: Sat, 1 Apr 2017 11:49:36 +0700 Subject: [PATCH] Fixed exception when plugin runs without options (Like "php_parallel_lint: "). Issue #44 --- src/PHPCensor/Plugin/Util/Executor.php | 2 +- src/PHPCensor/Plugin/Util/Factory.php | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/PHPCensor/Plugin/Util/Executor.php b/src/PHPCensor/Plugin/Util/Executor.php index 5f430390..215842a2 100644 --- a/src/PHPCensor/Plugin/Util/Executor.php +++ b/src/PHPCensor/Plugin/Util/Executor.php @@ -193,7 +193,7 @@ class Executor try { // Build and run it - $obj = $this->pluginFactory->buildPlugin($class, $options); + $obj = $this->pluginFactory->buildPlugin($class, (is_null($options) ? [] : $options)); return $obj->execute(); } catch (\Exception $ex) { diff --git a/src/PHPCensor/Plugin/Util/Factory.php b/src/PHPCensor/Plugin/Util/Factory.php index 7be3b0f2..ea55b1f8 100644 --- a/src/PHPCensor/Plugin/Util/Factory.php +++ b/src/PHPCensor/Plugin/Util/Factory.php @@ -2,6 +2,7 @@ namespace PHPCensor\Plugin\Util; +use PHPCensor\Plugin; use Pimple\Container; /** @@ -69,7 +70,9 @@ class Factory * * @param $className * @param array|null $options + * * @throws \InvalidArgumentException if $className doesn't represent a valid plugin + * * @return \PHPCensor\Plugin */ public function buildPlugin($className, $options = []) @@ -89,8 +92,10 @@ class Factory $argsToUse = $this->addArgFromParam($argsToUse, $param); } } + /** @var Plugin $plugin */ $plugin = $reflectedPlugin->newInstanceArgs($argsToUse); } else { + /** @var Plugin $plugin */ $plugin = $reflectedPlugin->newInstance(); }