From 1201d587e33fe6e9d7de39be1ba6f7c28735e4b8 Mon Sep 17 00:00:00 2001 From: Volodymyr Kublytskyi <vkublytskyi@magento.com> Date: Tue, 31 May 2016 14:29:23 +0300 Subject: [PATCH] MAGETWO-53713: [GITHUB] The time has come for splat operator #4766 - removed usage of class reflection for object instantiation in other places --- .../Model/Import/Product/Type/OptionTest.php | 3 +-- lib/internal/Magento/Framework/Filter/Input.php | 17 +++++++---------- .../Unit/Module/I18n/Dictionary/PhraseTest.php | 6 ++---- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php index c4c81329267..1d141e036a2 100644 --- a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php +++ b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php @@ -289,8 +289,7 @@ class OptionTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractIm ]; $modelClassName = \Magento\CatalogImportExport\Model\Import\Product\Option::class; - $class = new \ReflectionClass($modelClassName); - $this->model = $class->newInstanceArgs($modelClassArgs); + $this->model = new $modelClassName(...$modelClassArgs); // Create model mock with rewritten _getMultiRowFormat method to support test data with the old format. $this->modelMock = $this->getMockBuilder($modelClassName) ->setConstructorArgs($modelClassArgs) diff --git a/lib/internal/Magento/Framework/Filter/Input.php b/lib/internal/Magento/Framework/Filter/Input.php index 3008700b096..83c67cddf4f 100644 --- a/lib/internal/Magento/Framework/Filter/Input.php +++ b/lib/internal/Magento/Framework/Filter/Input.php @@ -342,16 +342,13 @@ class Input implements \Zend_Filter_Interface { $filter = $filterData['zend']; if (is_string($filter)) { - $class = new \ReflectionClass('Zend_Filter_' . $filter); - if ($class->implementsInterface('Zend_Filter_Interface')) { - if (isset($filterData['args']) && $class->hasMethod('__construct')) { - $filter = $class->newInstanceArgs($filterData['args']); - } else { - $filter = $class->newInstance(); - } - } else { - throw new \Exception('Filter is not instance of \Zend_Filter_Interface'); - } + $filterClassName = 'Zend_Filter_' . ucfirst($filter); + $filterClassOptions = isset($filterData['args']) ? $filterData['args'] : []; + $filter = new $filterClassName(...$filterClassOptions); + } + + if (!$filter instanceof \Zend_Filter_Interface) { + throw new \Exception('Filter is not instance of \Zend_Filter_Interface'); } return $filter; } diff --git a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php index b04d02b5084..4e4833e8617 100644 --- a/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php @@ -17,8 +17,7 @@ class PhraseTest extends \PHPUnit_Framework_TestCase */ public function testPhraseCreation($constructArguments, $getter, $result) { - $reflectionClass = new \ReflectionClass('Magento\Setup\Module\I18n\Dictionary\Phrase'); - $phrase = $reflectionClass->newInstanceArgs($constructArguments); + $phrase = new Phrase(...$constructArguments); $this->assertEquals($result, $phrase->{$getter}()); } @@ -58,8 +57,7 @@ class PhraseTest extends \PHPUnit_Framework_TestCase { $this->setExpectedException('DomainException', $message); - $reflectionClass = new \ReflectionClass('Magento\Setup\Module\I18n\Dictionary\Phrase'); - $reflectionClass->newInstanceArgs($constructArguments); + new Phrase(...$constructArguments); } /** -- GitLab