Skip to content

Commit 1201d58

Browse files
author
Volodymyr Kublytskyi
committed
MAGETWO-53713: [GITHUB] The time has come for splat operator #4766
- removed usage of class reflection for object instantiation in other places
1 parent 98dfa02 commit 1201d58

File tree

3 files changed

+10
-16
lines changed
  • app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type
  • lib/internal/Magento/Framework/Filter
  • setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary

3 files changed

+10
-16
lines changed

Diff for: app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php

+1-2
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,7 @@ protected function setUp()
289289
];
290290

291291
$modelClassName = \Magento\CatalogImportExport\Model\Import\Product\Option::class;
292-
$class = new \ReflectionClass($modelClassName);
293-
$this->model = $class->newInstanceArgs($modelClassArgs);
292+
$this->model = new $modelClassName(...$modelClassArgs);
294293
// Create model mock with rewritten _getMultiRowFormat method to support test data with the old format.
295294
$this->modelMock = $this->getMockBuilder($modelClassName)
296295
->setConstructorArgs($modelClassArgs)

Diff for: lib/internal/Magento/Framework/Filter/Input.php

+7-10
Original file line numberDiff line numberDiff line change
@@ -342,16 +342,13 @@ protected function _createNativeZendFilter($filterData)
342342
{
343343
$filter = $filterData['zend'];
344344
if (is_string($filter)) {
345-
$class = new \ReflectionClass('Zend_Filter_' . $filter);
346-
if ($class->implementsInterface('Zend_Filter_Interface')) {
347-
if (isset($filterData['args']) && $class->hasMethod('__construct')) {
348-
$filter = $class->newInstanceArgs($filterData['args']);
349-
} else {
350-
$filter = $class->newInstance();
351-
}
352-
} else {
353-
throw new \Exception('Filter is not instance of \Zend_Filter_Interface');
354-
}
345+
$filterClassName = 'Zend_Filter_' . ucfirst($filter);
346+
$filterClassOptions = isset($filterData['args']) ? $filterData['args'] : [];
347+
$filter = new $filterClassName(...$filterClassOptions);
348+
}
349+
350+
if (!$filter instanceof \Zend_Filter_Interface) {
351+
throw new \Exception('Filter is not instance of \Zend_Filter_Interface');
355352
}
356353
return $filter;
357354
}

Diff for: setup/src/Magento/Setup/Test/Unit/Module/I18n/Dictionary/PhraseTest.php

+2-4
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ class PhraseTest extends \PHPUnit_Framework_TestCase
1717
*/
1818
public function testPhraseCreation($constructArguments, $getter, $result)
1919
{
20-
$reflectionClass = new \ReflectionClass('Magento\Setup\Module\I18n\Dictionary\Phrase');
21-
$phrase = $reflectionClass->newInstanceArgs($constructArguments);
20+
$phrase = new Phrase(...$constructArguments);
2221
$this->assertEquals($result, $phrase->{$getter}());
2322
}
2423

@@ -58,8 +57,7 @@ public function testWrongParametersWhilePhraseCreation($constructArguments, $mes
5857
{
5958
$this->setExpectedException('DomainException', $message);
6059

61-
$reflectionClass = new \ReflectionClass('Magento\Setup\Module\I18n\Dictionary\Phrase');
62-
$reflectionClass->newInstanceArgs($constructArguments);
60+
new Phrase(...$constructArguments);
6361
}
6462

6563
/**

0 commit comments

Comments
 (0)