diff --git a/app/code/Magento/Ui/Block/Component/StepsWizard.php b/app/code/Magento/Ui/Block/Component/StepsWizard.php index 5769093b3eb87..bf12686d672a8 100644 --- a/app/code/Magento/Ui/Block/Component/StepsWizard.php +++ b/app/code/Magento/Ui/Block/Component/StepsWizard.php @@ -5,13 +5,16 @@ */ namespace Magento\Ui\Block\Component; +use Magento\Framework\View\Element\Template; +use Magento\Ui\Block\Component\StepsWizard\StepInterface; + /** * Multi steps wizard block * * @api * @since 100.0.2 */ -class StepsWizard extends \Magento\Framework\View\Element\Template +class StepsWizard extends Template { /** * Wizard step template @@ -26,12 +29,12 @@ class StepsWizard extends \Magento\Framework\View\Element\Template protected $initData = []; /** - * @var null|\Magento\Ui\Block\Component\StepsWizard\StepInterface[] + * @var null|StepInterface[] */ private $steps; /** - * @return \Magento\Ui\Block\Component\StepsWizard\StepInterface[] + * @return StepInterface[] */ public function getSteps() { diff --git a/app/code/Magento/Ui/Block/Component/StepsWizard/StepAbstract.php b/app/code/Magento/Ui/Block/Component/StepsWizard/StepAbstract.php index d0b81f2e79b42..ea1dfbd19da89 100644 --- a/app/code/Magento/Ui/Block/Component/StepsWizard/StepAbstract.php +++ b/app/code/Magento/Ui/Block/Component/StepsWizard/StepAbstract.php @@ -5,10 +5,12 @@ */ namespace Magento\Ui\Block\Component\StepsWizard; +use Magento\Framework\View\Element\Template; + /** * Abstract block for multi-step wizard UI */ -abstract class StepAbstract extends \Magento\Framework\View\Element\Template implements StepInterface +abstract class StepAbstract extends Template implements StepInterface { /** * @inheritdoc diff --git a/app/code/Magento/Ui/Block/Component/StepsWizard/StepInterface.php b/app/code/Magento/Ui/Block/Component/StepsWizard/StepInterface.php index ac7048a9ef177..1ef98c0b89712 100644 --- a/app/code/Magento/Ui/Block/Component/StepsWizard/StepInterface.php +++ b/app/code/Magento/Ui/Block/Component/StepsWizard/StepInterface.php @@ -5,13 +5,15 @@ */ namespace Magento\Ui\Block\Component\StepsWizard; +use Magento\Framework\View\Element\BlockInterface; + /** * Interface for multi-step wizard blocks * * @api * @since 100.0.2 */ -interface StepInterface extends \Magento\Framework\View\Element\BlockInterface +interface StepInterface extends BlockInterface { /** * Get step caption diff --git a/app/code/Magento/Ui/Block/Logger.php b/app/code/Magento/Ui/Block/Logger.php index 549da3ebab268..a004be79c5f12 100644 --- a/app/code/Magento/Ui/Block/Logger.php +++ b/app/code/Magento/Ui/Block/Logger.php @@ -16,11 +16,6 @@ */ class Logger extends Template { - /** - * @var Config - */ - protected $config; - /** * @param Template\Context $context * @param Config $config @@ -28,11 +23,10 @@ class Logger extends Template */ public function __construct( Template\Context $context, - Config $config, + protected readonly Config $config, array $data = [] ) { parent::__construct($context, $data); - $this->config = $config; } /** diff --git a/app/code/Magento/Ui/Block/Wrapper.php b/app/code/Magento/Ui/Block/Wrapper.php index bab9fd7bb7859..f528da7c2d942 100644 --- a/app/code/Magento/Ui/Block/Wrapper.php +++ b/app/code/Magento/Ui/Block/Wrapper.php @@ -7,28 +7,27 @@ use Magento\Framework\View\Element\Template; use Magento\Framework\View\Element\UiComponentInterface; +use Magento\Ui\Component\AbstractComponent; use Magento\Ui\Model\UiComponentGenerator; /** * This block is wrapper for UI component, this done in order to save compatibility with old widgets mechanism */ -class Wrapper extends \Magento\Framework\View\Element\Template +class Wrapper extends Template { - /** - * @var UiComponentGenerator - */ - private $uiComponentGenerator; - /** * Wrapper constructor. * @param Template\Context $context * @param UiComponentGenerator $uiComponentGenerator * @param array $data */ - public function __construct(Template\Context $context, UiComponentGenerator $uiComponentGenerator, array $data = []) + public function __construct( + Template\Context $context, + private readonly UiComponentGenerator $uiComponentGenerator, + array $data = [] + ) { parent::__construct($context, $data); - $this->uiComponentGenerator = $uiComponentGenerator; } /** @@ -86,7 +85,7 @@ private function addDataToChildComponents(UiComponentInterface $uiComponent, arr */ public function renderApp($data = []) { - /** @var \Magento\Ui\Component\AbstractComponent $uiComponent */ + /** @var AbstractComponent $uiComponent */ $uiComponent = $this->uiComponentGenerator ->generateUiComponent($this->getData('uiComponent'), $this->getLayout()); $this->injectDataInDataSource($uiComponent, $this->getData()); diff --git a/app/code/Magento/Ui/Block/Wysiwyg/ActiveEditor.php b/app/code/Magento/Ui/Block/Wysiwyg/ActiveEditor.php index 00c47ac8678fe..f3be9f352846d 100644 --- a/app/code/Magento/Ui/Block/Wysiwyg/ActiveEditor.php +++ b/app/code/Magento/Ui/Block/Wysiwyg/ActiveEditor.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Block\Wysiwyg; +use Magento\Framework\View\Element\Template; use Magento\Framework\View\Element\Template\Context; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Ui\Model; @@ -15,20 +16,10 @@ * @api * @since 101.1.0 */ -class ActiveEditor extends \Magento\Framework\View\Element\Template +class ActiveEditor extends Template { const DEFAULT_EDITOR_PATH = 'mage/adminhtml/wysiwyg/tiny_mce/tinymce5Adapter'; - /** - * @var ScopeConfigInterface - */ - private $scopeConfig; - - /** - * @var array - */ - private $availableAdapterPaths; - /** * ActiveEditor constructor. * @param Context $context @@ -38,13 +29,11 @@ class ActiveEditor extends \Magento\Framework\View\Element\Template */ public function __construct( Context $context, - ScopeConfigInterface $scopeConfig, - $availableAdapterPaths = [], + private readonly ScopeConfigInterface $scopeConfig, + private $availableAdapterPaths = [], array $data = [] ) { parent::__construct($context, $data); - $this->scopeConfig = $scopeConfig; - $this->availableAdapterPaths = $availableAdapterPaths; } /** diff --git a/app/code/Magento/Ui/Component/AbstractComponent.php b/app/code/Magento/Ui/Component/AbstractComponent.php index 9ce6d7d7fd334..315298dda022f 100644 --- a/app/code/Magento/Ui/Component/AbstractComponent.php +++ b/app/code/Magento/Ui/Component/AbstractComponent.php @@ -22,18 +22,6 @@ */ abstract class AbstractComponent extends DataObject implements UiComponentInterface { - /** - * Render context - * - * @var ContextInterface - */ - protected $context; - - /** - * @var UiComponentInterface[] - */ - protected $components; - /** * @var array */ @@ -52,12 +40,10 @@ abstract class AbstractComponent extends DataObject implements UiComponentInterf * @param array $data */ public function __construct( - ContextInterface $context, - array $components = [], + protected readonly ContextInterface $context, + protected array $components = [], array $data = [] ) { - $this->context = $context; - $this->components = $components; $this->_data = array_replace_recursive($this->_data, $data); $this->initObservers($this->_data); } diff --git a/app/code/Magento/Ui/Component/Action.php b/app/code/Magento/Ui/Component/Action.php index 34e20d879f54d..098470a2146d6 100644 --- a/app/code/Magento/Ui/Component/Action.php +++ b/app/code/Magento/Ui/Component/Action.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Component; +use JsonSerializable; use Magento\Framework\View\Element\UiComponent\ContextInterface; /** @@ -14,25 +15,19 @@ class Action extends AbstractComponent { const NAME = 'action'; - /** - * @var array|\JsonSerializable - */ - protected $actions; - /** * @param ContextInterface $context * @param array $components * @param array $data - * @param array|\JsonSerializable $actions + * @param array|JsonSerializable $actions */ public function __construct( ContextInterface $context, array $components = [], array $data = [], - $actions = null + protected $actions = null ) { parent::__construct($context, $components, $data); - $this->actions = $actions; } /** diff --git a/app/code/Magento/Ui/Component/Bookmark.php b/app/code/Magento/Ui/Component/Bookmark.php index db824f11bd4b1..874cac08cbc16 100644 --- a/app/code/Magento/Ui/Component/Bookmark.php +++ b/app/code/Magento/Ui/Component/Bookmark.php @@ -9,6 +9,7 @@ use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Ui\Api\BookmarkManagementInterface; use Magento\Ui\Api\BookmarkRepositoryInterface; +use Magento\Ui\Api\Data\BookmarkInterface; /** * Class Bookmark @@ -17,21 +18,11 @@ class Bookmark extends AbstractComponent { const NAME = 'bookmark'; - /** - * @var BookmarkRepositoryInterface - */ - protected $bookmarkRepository; - /** * @var FilterBuilder */ protected $filterBuilder; - /** - * @var BookmarkManagementInterface - */ - protected $bookmarkManagement; - /** * @param ContextInterface $context * @param BookmarkRepositoryInterface $bookmarkRepository @@ -41,14 +32,12 @@ class Bookmark extends AbstractComponent */ public function __construct( ContextInterface $context, - BookmarkRepositoryInterface $bookmarkRepository, - BookmarkManagementInterface $bookmarkManagement, + protected readonly BookmarkRepositoryInterface $bookmarkRepository, + protected readonly BookmarkManagementInterface $bookmarkManagement, array $components = [], array $data = [] ) { parent::__construct($context, $components, $data); - $this->bookmarkRepository = $bookmarkRepository; - $this->bookmarkManagement = $bookmarkManagement; } /** @@ -72,7 +61,7 @@ public function prepare() $config = []; if (!empty($namespace)) { $bookmarks = $this->bookmarkManagement->loadByNamespace($namespace); - /** @var \Magento\Ui\Api\Data\BookmarkInterface $bookmark */ + /** @var BookmarkInterface $bookmark */ foreach ($bookmarks->getItems() as $bookmark) { if ($bookmark->isCurrent()) { $config['activeIndex'] = $bookmark->getIdentifier(); diff --git a/app/code/Magento/Ui/Component/Control/ActionPool.php b/app/code/Magento/Ui/Component/Control/ActionPool.php index 052f99b60add0..8ec8967dd17a7 100644 --- a/app/code/Magento/Ui/Component/Control/ActionPool.php +++ b/app/code/Magento/Ui/Component/Control/ActionPool.php @@ -21,13 +21,6 @@ class ActionPool implements ActionPoolInterface */ const ACTIONS_PAGE_TOOLBAR = 'page.actions.toolbar'; - /** - * Render context - * - * @var Context - */ - protected $context; - /** * Actions pool * @@ -35,13 +28,6 @@ class ActionPool implements ActionPoolInterface */ protected $items; - /** - * Button factory - * - * @var ItemFactory - */ - protected $itemFactory; - /** * @var AbstractBlock */ @@ -53,10 +39,10 @@ class ActionPool implements ActionPoolInterface * @param Context $context * @param ItemFactory $itemFactory */ - public function __construct(Context $context, ItemFactory $itemFactory) - { - $this->context = $context; - $this->itemFactory = $itemFactory; + public function __construct( + protected readonly Context $context, + protected readonly ItemFactory $itemFactory + ) { } /** @@ -120,9 +106,9 @@ public function update($key, array $data) /** * Add html block * - * @param string $type - * @param string $name - * @param array $arguments + * @param string $type + * @param string $name + * @param array $arguments * @return void */ public function addHtmlBlock($type, $name = '', array $arguments = []) @@ -144,7 +130,7 @@ public function addHtmlBlock($type, $name = '', array $arguments = []) protected function createContainer($key, UiComponentInterface $view) { $container = $this->context->getPageLayout()->createBlock( - \Magento\Ui\Component\Control\Container::class, + Container::class, 'container-' . $view->getName() . '-' . $key, [ 'data' => [ diff --git a/app/code/Magento/Ui/Component/Control/Button.php b/app/code/Magento/Ui/Component/Control/Button.php index fbbf0e1f0fa61..232fbf343a774 100644 --- a/app/code/Magento/Ui/Component/Control/Button.php +++ b/app/code/Magento/Ui/Component/Control/Button.php @@ -17,11 +17,6 @@ */ class Button extends Template implements ControlInterface { - /** - * @var Random - */ - private $random; - /** * @var SecureHtmlRenderer */ @@ -36,7 +31,7 @@ class Button extends Template implements ControlInterface public function __construct( Context $context, array $data = [], - ?Random $random = null, + private ?Random $random = null, ?SecureHtmlRenderer $htmlRenderer = null ) { parent::__construct($context, $data); diff --git a/app/code/Magento/Ui/Component/Control/Container.php b/app/code/Magento/Ui/Component/Control/Container.php index bfc0e83e06c2f..e6ab78b4a975a 100644 --- a/app/code/Magento/Ui/Component/Control/Container.php +++ b/app/code/Magento/Ui/Component/Control/Container.php @@ -20,8 +20,8 @@ class Container extends AbstractBlock /** * Default button class */ - const DEFAULT_CONTROL = \Magento\Ui\Component\Control\Button::class; - const SPLIT_BUTTON = \Magento\Ui\Component\Control\SplitButton::class; + const DEFAULT_CONTROL = Button::class; + const SPLIT_BUTTON = SplitButton::class; /** * Create button renderer diff --git a/app/code/Magento/Ui/Component/Control/SplitButton.php b/app/code/Magento/Ui/Component/Control/SplitButton.php index 02a44795f7acc..bf45fb8e9e3a6 100644 --- a/app/code/Magento/Ui/Component/Control/SplitButton.php +++ b/app/code/Magento/Ui/Component/Control/SplitButton.php @@ -32,24 +32,18 @@ class SplitButton extends Button */ private $secureRenderer; - /** - * @var Random - */ - private $random; - /** * @inheritDoc */ public function __construct( Context $context, array $data = [], - ?Random $random = null, + private ?Random $random = null, ?SecureHtmlRenderer $htmlRenderer = null ) { $random = $random ?? ObjectManager::getInstance()->get(Random::class); $htmlRenderer = $htmlRenderer ?? ObjectManager::getInstance()->get(SecureHtmlRenderer::class); parent::__construct($context, $data, $random, $htmlRenderer); - $this->random = $random; $this->secureRenderer = $htmlRenderer; } diff --git a/app/code/Magento/Ui/Component/DataSource.php b/app/code/Magento/Ui/Component/DataSource.php index 04473aac45ead..0e9a7ab36799d 100644 --- a/app/code/Magento/Ui/Component/DataSource.php +++ b/app/code/Magento/Ui/Component/DataSource.php @@ -17,11 +17,6 @@ class DataSource extends AbstractComponent implements DataSourceInterface { const NAME = 'dataSource'; - /** - * @var DataProviderInterface - */ - protected $dataProvider; - /** * Constructor * @@ -32,11 +27,10 @@ class DataSource extends AbstractComponent implements DataSourceInterface */ public function __construct( ContextInterface $context, - DataProviderInterface $dataProvider, + protected readonly DataProviderInterface $dataProvider, array $components = [], array $data = [] ) { - $this->dataProvider = $dataProvider; $context->setDataProvider($dataProvider); parent::__construct($context, $components, $data); } diff --git a/app/code/Magento/Ui/Component/ExportButton.php b/app/code/Magento/Ui/Component/ExportButton.php index 284362a119bad..6d473a389f7e6 100644 --- a/app/code/Magento/Ui/Component/ExportButton.php +++ b/app/code/Magento/Ui/Component/ExportButton.php @@ -18,11 +18,6 @@ class ExportButton extends AbstractComponent */ const NAME = 'exportButton'; - /** - * @var \Magento\Framework\UrlInterface - */ - protected $urlBuilder; - /** * @param ContextInterface $context * @param UrlInterface $urlBuilder @@ -31,12 +26,11 @@ class ExportButton extends AbstractComponent */ public function __construct( ContextInterface $context, - UrlInterface $urlBuilder, + protected readonly UrlInterface $urlBuilder, array $components = [], array $data = [] ) { parent::__construct($context, $components, $data); - $this->urlBuilder = $urlBuilder; } /** diff --git a/app/code/Magento/Ui/Component/Filters.php b/app/code/Magento/Ui/Component/Filters.php index aa418a4522044..924f2684fb14d 100644 --- a/app/code/Magento/Ui/Component/Filters.php +++ b/app/code/Magento/Ui/Component/Filters.php @@ -43,16 +43,6 @@ class Filters extends AbstractComponent implements ObserverInterface 'datetimeRange' => 'filterDate', ]; - /** - * @var UiComponentFactory - */ - protected $uiComponentFactory; - - /** - * @var TimezoneInterface - */ - private $localeDate; - /** * Filters constructor. * @@ -64,13 +54,12 @@ class Filters extends AbstractComponent implements ObserverInterface */ public function __construct( ContextInterface $context, - UiComponentFactory $uiComponentFactory, + protected readonly UiComponentFactory $uiComponentFactory, array $components = [], array $data = [], - ?TimezoneInterface $localeDate = null + private ?TimezoneInterface $localeDate = null ) { parent::__construct($context, $components, $data); - $this->uiComponentFactory = $uiComponentFactory; $this->localeDate = $localeDate ?? ObjectManager::getInstance()->get(TimezoneInterface::class); } diff --git a/app/code/Magento/Ui/Component/Filters/FilterModifier.php b/app/code/Magento/Ui/Component/Filters/FilterModifier.php index 2db85a4b0d69a..a097811a29422 100644 --- a/app/code/Magento/Ui/Component/Filters/FilterModifier.php +++ b/app/code/Magento/Ui/Component/Filters/FilterModifier.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Component\Filters; +use Magento\Framework\Exception\LocalizedException; use Magento\Framework\View\Element\UiComponent\DataProvider\DataProviderInterface; use Magento\Framework\App\RequestInterface; use Magento\Framework\Api\FilterBuilder; @@ -19,30 +20,16 @@ class FilterModifier */ const FILTER_MODIFIER = 'filters_modifier'; - /** - * @var \Magento\Framework\App\RequestInterface - */ - protected $request; - - /** - * @var \Magento\Framework\Api\FilterBuilder - */ - protected $filterBuilder; - - /** - * @var array - */ - protected $allowedConditionTypes; - /** * @param RequestInterface $request * @param FilterBuilder $filterBuilder * @param array $allowedConditionTypes */ - public function __construct(RequestInterface $request, FilterBuilder $filterBuilder, $allowedConditionTypes = []) - { - $this->request = $request; - $this->filterBuilder = $filterBuilder; + public function __construct( + protected readonly RequestInterface $request, + protected readonly FilterBuilder $filterBuilder, + protected $allowedConditionTypes = [] + ) { $this->allowedConditionTypes = array_merge( ['eq', 'neq', 'in', 'nin', 'null', 'notnull'], $allowedConditionTypes @@ -55,7 +42,7 @@ public function __construct(RequestInterface $request, FilterBuilder $filterBuil * @param DataProviderInterface $dataProvider * @param string $filterName * @return void - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ public function applyFilterModifier(DataProviderInterface $dataProvider, $filterName) { @@ -63,7 +50,7 @@ public function applyFilterModifier(DataProviderInterface $dataProvider, $filter if (isset($filterModifier[$filterName]['condition_type'])) { $conditionType = $filterModifier[$filterName]['condition_type']; if (!in_array($conditionType, $this->allowedConditionTypes)) { - throw new \Magento\Framework\Exception\LocalizedException( + throw new LocalizedException( __('Condition type "%1" is not allowed', $conditionType) ); } diff --git a/app/code/Magento/Ui/Component/Filters/Type/AbstractFilter.php b/app/code/Magento/Ui/Component/Filters/Type/AbstractFilter.php index f5d3af44f71f4..b761781a23c14 100644 --- a/app/code/Magento/Ui/Component/Filters/Type/AbstractFilter.php +++ b/app/code/Magento/Ui/Component/Filters/Type/AbstractFilter.php @@ -35,21 +35,6 @@ abstract class AbstractFilter extends AbstractComponent */ protected $filterData; - /** - * @var UiComponentFactory - */ - protected $uiComponentFactory; - - /** - * @var FilterBuilder - */ - protected $filterBuilder; - - /** - * @var FilterModifier - */ - protected $filterModifier; - /** * @param ContextInterface $context * @param UiComponentFactory $uiComponentFactory @@ -60,17 +45,14 @@ abstract class AbstractFilter extends AbstractComponent */ public function __construct( ContextInterface $context, - UiComponentFactory $uiComponentFactory, - FilterBuilder $filterBuilder, - FilterModifier $filterModifier, + protected readonly UiComponentFactory $uiComponentFactory, + protected readonly FilterBuilder $filterBuilder, + protected readonly FilterModifier $filterModifier, array $components = [], array $data = [] ) { - $this->uiComponentFactory = $uiComponentFactory; - $this->filterBuilder = $filterBuilder; parent::__construct($context, $components, $data); $this->filterData = $this->getContext()->getFiltersParams(); - $this->filterModifier = $filterModifier; } /** diff --git a/app/code/Magento/Ui/Component/Filters/Type/Date.php b/app/code/Magento/Ui/Component/Filters/Type/Date.php index 28ad8568ebe31..f7cd4344f03a1 100644 --- a/app/code/Magento/Ui/Component/Filters/Type/Date.php +++ b/app/code/Magento/Ui/Component/Filters/Type/Date.php @@ -6,6 +6,7 @@ namespace Magento\Ui\Component\Filters\Type; +use DateTime; use Magento\Ui\Component\Form\Element\DataType\Date as DataTypeDate; /** @@ -128,9 +129,9 @@ protected function applyFilterByType($type, $value) * @param int $hour * @param int $minute * @param int $second - * @return \DateTime + * @return DateTime|null */ - private function convertDatetime(string $value, int $hour = 0, int $minute = 0, int $second = 0): ?\DateTime + private function convertDatetime(string $value, int $hour = 0, int $minute = 0, int $second = 0): ?DateTime { $value = $this->getData('config/options/showsTime') ? $this->wrappedComponent->convertDatetime( diff --git a/app/code/Magento/Ui/Component/Filters/Type/Search.php b/app/code/Magento/Ui/Component/Filters/Type/Search.php index afa3c775dae44..ee0feef098406 100644 --- a/app/code/Magento/Ui/Component/Filters/Type/Search.php +++ b/app/code/Magento/Ui/Component/Filters/Type/Search.php @@ -11,7 +11,7 @@ * @api * @since 100.0.2 */ -class Search extends \Magento\Ui\Component\Filters\Type\AbstractFilter +class Search extends AbstractFilter { const NAME = 'keyword_search'; diff --git a/app/code/Magento/Ui/Component/Filters/Type/Select.php b/app/code/Magento/Ui/Component/Filters/Type/Select.php index e560b15c35856..b1da80e389ad3 100644 --- a/app/code/Magento/Ui/Component/Filters/Type/Select.php +++ b/app/code/Magento/Ui/Component/Filters/Type/Select.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Component\Filters\Type; +use Magento\Framework\Api\FilterBuilder; use Magento\Framework\Data\OptionSourceInterface; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Framework\View\Element\UiComponent\ContextInterface; @@ -28,15 +29,10 @@ class Select extends AbstractFilter */ protected $wrappedComponent; - /** - * @var OptionSourceInterface - */ - protected $optionsProvider; - /** * @param ContextInterface $context * @param UiComponentFactory $uiComponentFactory - * @param \Magento\Framework\Api\FilterBuilder $filterBuilder + * @param FilterBuilder $filterBuilder * @param FilterModifier $filterModifier * @param OptionSourceInterface|null $optionsProvider * @param array $components @@ -45,13 +41,12 @@ class Select extends AbstractFilter public function __construct( ContextInterface $context, UiComponentFactory $uiComponentFactory, - \Magento\Framework\Api\FilterBuilder $filterBuilder, + FilterBuilder $filterBuilder, FilterModifier $filterModifier, - OptionSourceInterface $optionsProvider = null, + protected ?OptionSourceInterface $optionsProvider = null, array $components = [], array $data = [] ) { - $this->optionsProvider = $optionsProvider; parent::__construct($context, $uiComponentFactory, $filterBuilder, $filterModifier, $components, $data); } diff --git a/app/code/Magento/Ui/Component/Form.php b/app/code/Magento/Ui/Component/Form.php index dc6e7b5ca06ab..59a80991f13be 100644 --- a/app/code/Magento/Ui/Component/Form.php +++ b/app/code/Magento/Ui/Component/Form.php @@ -18,11 +18,6 @@ class Form extends AbstractComponent { const NAME = 'form'; - /** - * @var FilterBuilder - */ - protected $filterBuilder; - /** * @param ContextInterface $context * @param FilterBuilder $filterBuilder @@ -31,11 +26,10 @@ class Form extends AbstractComponent */ public function __construct( ContextInterface $context, - FilterBuilder $filterBuilder, + protected readonly FilterBuilder $filterBuilder, array $components = [], array $data = [] ) { - $this->filterBuilder = $filterBuilder; parent::__construct( $context, $components, diff --git a/app/code/Magento/Ui/Component/Form/AttributeMapper.php b/app/code/Magento/Ui/Component/Form/AttributeMapper.php index f2449cec43ce1..4efd0b4e76ac6 100644 --- a/app/code/Magento/Ui/Component/Form/AttributeMapper.php +++ b/app/code/Magento/Ui/Component/Form/AttributeMapper.php @@ -5,6 +5,9 @@ */ namespace Magento\Ui\Component\Form; +use Magento\Eav\Api\Data\AttributeInterface; +use Magento\Framework\Exception\LocalizedException; + /** * @api * @since 100.0.2 @@ -50,9 +53,9 @@ class AttributeMapper /** * Get attributes meta * - * @param \Magento\Eav\Api\Data\AttributeInterface $attribute + * @param AttributeInterface $attribute * @return array - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ public function map($attribute) { diff --git a/app/code/Magento/Ui/Component/Form/Element/AbstractOptionsField.php b/app/code/Magento/Ui/Component/Form/Element/AbstractOptionsField.php index f1ff9db2dfde6..ef699c44d3eeb 100644 --- a/app/code/Magento/Ui/Component/Form/Element/AbstractOptionsField.php +++ b/app/code/Magento/Ui/Component/Form/Element/AbstractOptionsField.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Component\Form\Element; +use Magento\Framework\App\ObjectManager; use Magento\Framework\Data\OptionSourceInterface; use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Framework\View\Element\UiComponent\DataProvider\Sanitizer; @@ -18,17 +19,6 @@ */ abstract class AbstractOptionsField extends AbstractElement { - /** - * @var array|OptionSourceInterface|null - * @since 100.1.0 - */ - protected $options; - - /** - * @var Sanitizer - */ - private $sanitizer; - /** * Constructor * @@ -40,13 +30,12 @@ abstract class AbstractOptionsField extends AbstractElement */ public function __construct( ContextInterface $context, - $options = null, + protected $options = null, array $components = [], array $data = [], - ?Sanitizer $sanitizer = null + private ?Sanitizer $sanitizer = null ) { - $this->options = $options; - $this->sanitizer = $sanitizer ?? \Magento\Framework\App\ObjectManager::getInstance()->get(Sanitizer::class); + $this->sanitizer = $sanitizer ?? ObjectManager::getInstance()->get(Sanitizer::class); parent::__construct($context, $components, $data); } diff --git a/app/code/Magento/Ui/Component/Form/Element/ColorPicker.php b/app/code/Magento/Ui/Component/Form/Element/ColorPicker.php index 23188363cc1d1..766adb617b0a0 100644 --- a/app/code/Magento/Ui/Component/Form/Element/ColorPicker.php +++ b/app/code/Magento/Ui/Component/Form/Element/ColorPicker.php @@ -25,29 +25,20 @@ class ColorPicker extends AbstractElement const DEFAULT_MODE = 'full'; - /** - * Provides color picker modes configuration - * - * @var ColorModesProvider - */ - private $modesProvider; - /** * Constructor * * @param ContextInterface $context * @param ColorModesProvider $modesProvider - * @param UiComponentFactory $uiComponentFactory * @param UiComponentInterface[] $components * @param array $data */ public function __construct( ContextInterface $context, - ColorModesProvider $modesProvider, + private readonly ColorModesProvider $modesProvider, array $components = [], array $data = [] ) { - $this->modesProvider = $modesProvider; parent::__construct($context, $components, $data); } diff --git a/app/code/Magento/Ui/Component/Form/Element/DataType/Date.php b/app/code/Magento/Ui/Component/Form/Element/DataType/Date.php index 3600992011ed6..69bd14ed32898 100644 --- a/app/code/Magento/Ui/Component/Form/Element/DataType/Date.php +++ b/app/code/Magento/Ui/Component/Form/Element/DataType/Date.php @@ -5,10 +5,14 @@ */ namespace Magento\Ui\Component\Form\Element\DataType; +use DateTime; +use DateTimeZone; +use Exception; use Magento\Framework\Locale\ResolverInterface; use Magento\Framework\Stdlib\DateTime\TimezoneInterface; use Magento\Framework\View\Element\UiComponentInterface; use Magento\Framework\View\Element\UiComponent\ContextInterface; +use Throwable; /** * UI component date type @@ -31,11 +35,6 @@ class Date extends AbstractDataType */ protected $wrappedComponent; - /** - * @var TimezoneInterface - */ - private $localeDate; - /** * Constructor * @@ -47,13 +46,12 @@ class Date extends AbstractDataType */ public function __construct( ContextInterface $context, - TimezoneInterface $localeDate, + private readonly TimezoneInterface $localeDate, ResolverInterface $localeResolver, array $components = [], array $data = [] ) { $this->locale = $localeResolver->getLocale(); - $this->localeDate = $localeDate; parent::__construct($context, $components, $data); } @@ -106,7 +104,7 @@ public function getComponentName() * @param int $minute * @param int $second * @param bool $setUtcTimeZone - * @return \DateTime|null + * @return DateTime|null */ public function convertDate($date, $hour = 0, $minute = 0, $second = 0, $setUtcTimeZone = true) { @@ -115,10 +113,10 @@ public function convertDate($date, $hour = 0, $minute = 0, $second = 0, $setUtcT $dateObj->setTime($hour, $minute, $second); //convert store date to default date in UTC timezone without DST if ($setUtcTimeZone) { - $dateObj->setTimezone(new \DateTimeZone('UTC')); + $dateObj->setTimezone(new DateTimeZone('UTC')); } return $dateObj; - } catch (\Exception $e) { + } catch (Exception $e) { return null; } } @@ -128,19 +126,19 @@ public function convertDate($date, $hour = 0, $minute = 0, $second = 0, $setUtcT * * @param string $date * @param bool $setUtcTimezone - * @return \DateTime|null + * @return DateTime|null */ - public function convertDatetime(string $date, bool $setUtcTimezone = true): ?\DateTime + public function convertDatetime(string $date, bool $setUtcTimezone = true): ?DateTime { try { $date = rtrim($date, 'Z'); - $dateObj = new \DateTime($date, new \DateTimeZone($this->localeDate->getConfigTimezone())); + $dateObj = new DateTime($date, new DateTimeZone($this->localeDate->getConfigTimezone())); //convert store date to default date in UTC timezone without DST if ($setUtcTimezone) { - $dateObj->setTimezone(new \DateTimeZone('UTC')); + $dateObj->setTimezone(new DateTimeZone('UTC')); } return $dateObj; - } catch (\Throwable $e) { + } catch (Throwable $e) { return null; } } diff --git a/app/code/Magento/Ui/Component/Form/Element/DataType/Media/Image.php b/app/code/Magento/Ui/Component/Form/Element/DataType/Media/Image.php index ba86b19963f69..c1b3a873c3aad 100644 --- a/app/code/Magento/Ui/Component/Form/Element/DataType/Media/Image.php +++ b/app/code/Magento/Ui/Component/Form/Element/DataType/Media/Image.php @@ -21,21 +21,6 @@ class Image extends Media { const NAME = 'image'; - /** - * @var StoreManagerInterface - */ - private $storeManager; - - /** - * @var Size - */ - private $fileSize; - - /** - * @var OpednDialogUrl - */ - private $openDialogUrl; - /** * @param ContextInterface $context * @param StoreManagerInterface $storeManager @@ -46,15 +31,12 @@ class Image extends Media */ public function __construct( ContextInterface $context, - StoreManagerInterface $storeManager, - Size $fileSize, - OpenDialogUrl $openDialogUrl, + private readonly StoreManagerInterface $storeManager, + private readonly Size $fileSize, + private readonly OpenDialogUrl $openDialogUrl, array $components = [], array $data = [] ) { - $this->storeManager = $storeManager; - $this->fileSize = $fileSize; - $this->openDialogUrl = $openDialogUrl; parent::__construct($context, $components, $data); } diff --git a/app/code/Magento/Ui/Component/Form/Element/DataType/Media/OpenDialogUrl.php b/app/code/Magento/Ui/Component/Form/Element/DataType/Media/OpenDialogUrl.php index 9961fc41fc70d..4c65ba9e4de7e 100644 --- a/app/code/Magento/Ui/Component/Form/Element/DataType/Media/OpenDialogUrl.php +++ b/app/code/Magento/Ui/Component/Form/Element/DataType/Media/OpenDialogUrl.php @@ -21,7 +21,7 @@ class OpenDialogUrl private $openDialogUrl; /** - * @param string $url + * @param string|null $url */ public function __construct(string $url = null) { diff --git a/app/code/Magento/Ui/Component/Form/Element/Multiline.php b/app/code/Magento/Ui/Component/Form/Element/Multiline.php index fc8e96638fc50..83e1baad1dc77 100644 --- a/app/code/Magento/Ui/Component/Form/Element/Multiline.php +++ b/app/code/Magento/Ui/Component/Form/Element/Multiline.php @@ -22,13 +22,6 @@ class Multiline extends AbstractElement const DATA_TYPE = 'text'; - /** - * UI component factory - * - * @var UiComponentFactory - */ - protected $uiComponentFactory; - /** * Constructor * @@ -39,11 +32,10 @@ class Multiline extends AbstractElement */ public function __construct( ContextInterface $context, - UiComponentFactory $uiComponentFactory, + protected readonly UiComponentFactory $uiComponentFactory, array $components = [], array $data = [] ) { - $this->uiComponentFactory = $uiComponentFactory; parent::__construct($context, $components, $data); } diff --git a/app/code/Magento/Ui/Component/Form/Element/UrlInput.php b/app/code/Magento/Ui/Component/Form/Element/UrlInput.php index 0e0e25d02ffed..64e30ecb97b0b 100644 --- a/app/code/Magento/Ui/Component/Form/Element/UrlInput.php +++ b/app/code/Magento/Ui/Component/Form/Element/UrlInput.php @@ -11,7 +11,7 @@ /** * Url Input to process data for urlInput component */ -class UrlInput extends \Magento\Ui\Component\Form\Element\AbstractElement +class UrlInput extends AbstractElement { const NAME = 'urlInput'; diff --git a/app/code/Magento/Ui/Component/Form/Element/Wysiwyg.php b/app/code/Magento/Ui/Component/Form/Element/Wysiwyg.php index 040c27d4939ef..0e31490361c78 100644 --- a/app/code/Magento/Ui/Component/Form/Element/Wysiwyg.php +++ b/app/code/Magento/Ui/Component/Form/Element/Wysiwyg.php @@ -56,7 +56,7 @@ public function __construct( $wysiwygId = $context->getNamespace() . '_' . $data['name']; $this->editor = $this->form->addField( $wysiwygId, - \Magento\Framework\Data\Form\Element\Editor::class, + Editor::class, [ 'force_load' => true, 'rows' => isset($config['rows']) ? $config['rows'] : 20, diff --git a/app/code/Magento/Ui/Component/Form/Field.php b/app/code/Magento/Ui/Component/Form/Field.php index e7a627743b63a..59e181b898c6f 100644 --- a/app/code/Magento/Ui/Component/Form/Field.php +++ b/app/code/Magento/Ui/Component/Form/Field.php @@ -28,13 +28,6 @@ class Field extends AbstractComponent */ protected $wrappedComponent; - /** - * UI component factory - * - * @var UiComponentFactory - */ - protected $uiComponentFactory; - /** * Constructor * @@ -45,11 +38,10 @@ class Field extends AbstractComponent */ public function __construct( ContextInterface $context, - UiComponentFactory $uiComponentFactory, + protected readonly UiComponentFactory $uiComponentFactory, array $components = [], array $data = [] ) { - $this->uiComponentFactory = $uiComponentFactory; parent::__construct($context, $components, $data); } @@ -67,7 +59,7 @@ public function getComponentName() * Prepare component configuration * * @return void - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ public function prepare() { diff --git a/app/code/Magento/Ui/Component/Form/Field/DefaultValue.php b/app/code/Magento/Ui/Component/Form/Field/DefaultValue.php index aaf836bf2dc94..88a45e2e41f49 100644 --- a/app/code/Magento/Ui/Component/Form/Field/DefaultValue.php +++ b/app/code/Magento/Ui/Component/Form/Field/DefaultValue.php @@ -10,33 +10,21 @@ use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Framework\View\Element\UiComponentFactory; +use Magento\Store\Model\ScopeInterface; +use Magento\Store\Model\StoreManagerInterface; +use Magento\Ui\Component\Form\Field; /** * Field class has dynamic default value based on System Configuration path */ -class DefaultValue extends \Magento\Ui\Component\Form\Field +class DefaultValue extends Field { - /** - * @var ScopeConfigInterface - */ - private $scopeConfig; - - /** - * @var string - */ - private $path; - - /** - * @var \Magento\Store\Model\StoreManagerInterface $storeManager - */ - private $storeManager; - /** * DefaultValue constructor. * @param ContextInterface $context * @param UiComponentFactory $uiComponentFactory * @param ScopeConfigInterface $scopeConfig - * @param \Magento\Store\Model\StoreManagerInterface $storeManager + * @param StoreManagerInterface $storeManager * @param string $path * @param array $components * @param array $data @@ -44,16 +32,13 @@ class DefaultValue extends \Magento\Ui\Component\Form\Field public function __construct( ContextInterface $context, UiComponentFactory $uiComponentFactory, - ScopeConfigInterface $scopeConfig, - \Magento\Store\Model\StoreManagerInterface $storeManager, - string $path = '', + private readonly ScopeConfigInterface $scopeConfig, + private readonly StoreManagerInterface $storeManager, + private string $path = '', array $components = [], array $data = [] ) { parent::__construct($context, $uiComponentFactory, $components, $data); - $this->scopeConfig = $scopeConfig; - $this->storeManager = $storeManager; - $this->path = $path; } /** @@ -66,7 +51,7 @@ public function prepare() if (empty($this->_data['config']['default'])) { $this->_data['config']['default'] = $this->scopeConfig->getValue( $this->path, - \Magento\Store\Model\ScopeInterface::SCOPE_STORE, + ScopeInterface::SCOPE_STORE, $store ); } diff --git a/app/code/Magento/Ui/Component/Form/Fieldset/Factory.php b/app/code/Magento/Ui/Component/Form/Fieldset/Factory.php index dc70ffd1ca55f..7cf954cdf017d 100644 --- a/app/code/Magento/Ui/Component/Form/Fieldset/Factory.php +++ b/app/code/Magento/Ui/Component/Form/Fieldset/Factory.php @@ -18,21 +18,16 @@ class Factory /** * @var string */ - protected $className = \Magento\Ui\Component\Form\Fieldset::class; - - /** - * @var ObjectManagerInterface - */ - protected $objectManager; + protected $className = Fieldset::class; /** * Constructor * * @param ObjectManagerInterface $objectManager */ - public function __construct(ObjectManagerInterface $objectManager) - { - $this->objectManager = $objectManager; + public function __construct( + protected readonly ObjectManagerInterface $objectManager + ) { } /** diff --git a/app/code/Magento/Ui/Component/HtmlContent.php b/app/code/Magento/Ui/Component/HtmlContent.php index 0d31cb8a532a8..916d1b8da57de 100644 --- a/app/code/Magento/Ui/Component/HtmlContent.php +++ b/app/code/Magento/Ui/Component/HtmlContent.php @@ -13,11 +13,6 @@ class HtmlContent extends AbstractComponent implements BlockWrapperInterface { const NAME = 'html_content'; - /** - * @var BlockInterface - */ - protected $block; - /** * @param ContextInterface $context * @param BlockInterface $block @@ -26,12 +21,11 @@ class HtmlContent extends AbstractComponent implements BlockWrapperInterface */ public function __construct( ContextInterface $context, - BlockInterface $block, + protected readonly BlockInterface $block, array $components = [], array $data = [] ) { parent::__construct($context, $components, $data); - $this->block = $block; } /** diff --git a/app/code/Magento/Ui/Component/Layout.php b/app/code/Magento/Ui/Component/Layout.php index d75b0a3cca266..5b9942900f82a 100644 --- a/app/code/Magento/Ui/Component/Layout.php +++ b/app/code/Magento/Ui/Component/Layout.php @@ -17,16 +17,6 @@ class Layout extends AbstractComponent { const NAME = 'layout'; - /** - * @var LayoutPool - */ - protected $layoutPool; - - /** - * @var string - */ - protected $type; - /** * @var LayoutInterface */ @@ -48,13 +38,11 @@ class Layout extends AbstractComponent */ public function __construct( ContextInterface $context, - LayoutPool $layoutPool, - $type, + protected readonly LayoutPool $layoutPool, + protected $type, array $components = [], array $data = [] ) { - $this->layoutPool = $layoutPool; - $this->type = $type; parent::__construct($context, $components, $data); } diff --git a/app/code/Magento/Ui/Component/Layout/Tabs.php b/app/code/Magento/Ui/Component/Layout/Tabs.php index 0d176d7241653..f7c16fd77e35f 100644 --- a/app/code/Magento/Ui/Component/Layout/Tabs.php +++ b/app/code/Magento/Ui/Component/Layout/Tabs.php @@ -5,23 +5,21 @@ */ namespace Magento\Ui\Component\Layout; +use Magento\Framework\Exception\LocalizedException; use Magento\Framework\View\Element\UiComponent\BlockWrapperInterface; use Magento\Framework\View\Element\UiComponent\DataSourceInterface; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Framework\View\Element\UiComponentInterface; use Magento\Framework\View\Element\ComponentVisibilityInterface; +use Magento\Framework\View\Layout\Generic; +use Magento\Ui\Component\Layout\Tabs\Nav; use Magento\Ui\Component\Layout\Tabs\TabInterface; /** * Class Tabs */ -class Tabs extends \Magento\Framework\View\Layout\Generic +class Tabs extends Generic { - /** - * @var string - */ - protected $navContainerName; - /** * @var array */ @@ -39,9 +37,11 @@ class Tabs extends \Magento\Framework\View\Layout\Generic * @param null|string $navContainerName * @param array $data */ - public function __construct(UiComponentFactory $uiComponentFactory, $navContainerName = null, $data = []) - { - $this->navContainerName = $navContainerName; + public function __construct( + UiComponentFactory $uiComponentFactory, + protected $navContainerName = null, + $data = [] + ) { parent::__construct($uiComponentFactory, $data); } @@ -72,7 +72,7 @@ public function build(UiComponentInterface $component) * @param UiComponentInterface $component * @param string $componentType * @return void - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ protected function addChildren(array &$topNode, UiComponentInterface $component, $componentType) @@ -240,7 +240,7 @@ protected function addWrappedBlock(BlockWrapperInterface $childComponent, array * @param UiComponentInterface $childComponent * @param string $name * @return UiComponentInterface - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ protected function createTabComponent(UiComponentInterface $childComponent, $name) { @@ -373,15 +373,15 @@ protected function addNavigationBlock() $navName = $this->component->getName() . '_tabs_nav'; } - /** @var \Magento\Ui\Component\Layout\Tabs\Nav $navBlock */ + /** @var Nav $navBlock */ if (isset($this->navContainerName)) { $navBlock = $pageLayout->addBlock( - \Magento\Ui\Component\Layout\Tabs\Nav::class, + Nav::class, $navName, $this->navContainerName ); } else { - $navBlock = $pageLayout->addBlock(\Magento\Ui\Component\Layout\Tabs\Nav::class, $navName, 'content'); + $navBlock = $pageLayout->addBlock(Nav::class, $navName, 'content'); } $navBlock->setTemplate('Magento_Ui::layout/tabs/nav/default.phtml'); $navBlock->setData('data_scope', $this->namespace); diff --git a/app/code/Magento/Ui/Component/Listing/Columns/Column.php b/app/code/Magento/Ui/Component/Listing/Columns/Column.php index f2b5baea67f87..77b11d3b54911 100644 --- a/app/code/Magento/Ui/Component/Listing/Columns/Column.php +++ b/app/code/Magento/Ui/Component/Listing/Columns/Column.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Component\Listing\Columns; +use Magento\Framework\Exception\LocalizedException; use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Framework\View\Element\UiComponentInterface; @@ -25,13 +26,6 @@ class Column extends AbstractComponent implements ColumnInterface */ protected $wrappedComponent; - /** - * Factory for UI Component - * - * @var UiComponentFactory - */ - protected $uiComponentFactory; - /** * Constructor * @@ -42,11 +36,10 @@ class Column extends AbstractComponent implements ColumnInterface */ public function __construct( ContextInterface $context, - UiComponentFactory $uiComponentFactory, + protected readonly UiComponentFactory $uiComponentFactory, array $components = [], array $data = [] ) { - $this->uiComponentFactory = $uiComponentFactory; parent::__construct($context, $components, $data); } @@ -64,7 +57,7 @@ public function getComponentName() * Prepare component configuration * * @return void - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ public function prepare() { diff --git a/app/code/Magento/Ui/Component/Listing/Columns/Date.php b/app/code/Magento/Ui/Component/Listing/Columns/Date.php index d141499718a76..7f5bd17e46be4 100644 --- a/app/code/Magento/Ui/Component/Listing/Columns/Date.php +++ b/app/code/Magento/Ui/Component/Listing/Columns/Date.php @@ -6,6 +6,7 @@ namespace Magento\Ui\Component\Listing\Columns; +use DateTime; use Magento\Framework\App\ObjectManager; use Magento\Framework\Locale\Bundle\DataBundle; use Magento\Framework\Locale\ResolverInterface; @@ -13,6 +14,7 @@ use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Framework\Stdlib\DateTime\TimezoneInterface; +use ResourceBundle; /** * Date format column @@ -22,31 +24,11 @@ */ class Date extends Column { - /** - * @var TimezoneInterface - */ - protected $timezone; - - /** - * @var BooleanUtils - */ - private $booleanUtils; - - /** - * @var ResolverInterface - */ - private $localeResolver; - /** * @var string */ private $locale; - /** - * @var DataBundle - */ - private $dataBundle; - /** * @param ContextInterface $context * @param UiComponentFactory $uiComponentFactory @@ -60,15 +42,13 @@ class Date extends Column public function __construct( ContextInterface $context, UiComponentFactory $uiComponentFactory, - TimezoneInterface $timezone, - BooleanUtils $booleanUtils, + protected readonly TimezoneInterface $timezone, + private readonly BooleanUtils $booleanUtils, array $components = [], array $data = [], - ResolverInterface $localeResolver = null, - DataBundle $dataBundle = null + private ?ResolverInterface $localeResolver = null, + private ?DataBundle $dataBundle = null ) { - $this->timezone = $timezone; - $this->booleanUtils = $booleanUtils; $this->localeResolver = $localeResolver ?? ObjectManager::getInstance()->get(ResolverInterface::class); $this->locale = $this->localeResolver->getLocale(); $this->dataBundle = $dataBundle ?? ObjectManager::getInstance()->get(DataBundle::class); @@ -96,7 +76,7 @@ public function prepare() } $localeData = $this->dataBundle->get($this->locale); - /** @var \ResourceBundle $monthsData */ + /** @var ResourceBundle $monthsData */ $monthsData = $localeData['calendar']['gregorian']['monthNames']; $months = array_values(iterator_to_array($monthsData['format']['wide'])); $monthsShort = array_values( @@ -130,12 +110,12 @@ public function prepareDataSource(array $dataSource) if (isset($item[$this->getData('name')]) && $item[$this->getData('name')] !== "0000-00-00 00:00:00" ) { - $date = $this->timezone->date(new \DateTime($item[$this->getData('name')])); + $date = $this->timezone->date(new DateTime($item[$this->getData('name')])); $timezone = isset($this->getConfiguration()['timezone']) ? $this->booleanUtils->convert($this->getConfiguration()['timezone']) : true; if (!$timezone) { - $date = new \DateTime($item[$this->getData('name')]); + $date = new DateTime($item[$this->getData('name')]); } $item[$this->getData('name')] = $date->format('Y-m-d H:i:s'); } diff --git a/app/code/Magento/Ui/Component/MassAction/Columns/Column.php b/app/code/Magento/Ui/Component/MassAction/Columns/Column.php index a0adc3e3b436e..83f508e75801f 100644 --- a/app/code/Magento/Ui/Component/MassAction/Columns/Column.php +++ b/app/code/Magento/Ui/Component/MassAction/Columns/Column.php @@ -25,13 +25,6 @@ class Column extends AbstractComponent implements ColumnInterface */ protected $wrappedComponent; - /** - * UI component factory - * - * @var UiComponentFactory - */ - protected $uiComponentFactory; - /** * Constructor * @@ -42,11 +35,10 @@ class Column extends AbstractComponent implements ColumnInterface */ public function __construct( ContextInterface $context, - UiComponentFactory $uiComponentFactory, + protected readonly UiComponentFactory $uiComponentFactory, array $components = [], array $data = [] ) { - $this->uiComponentFactory = $uiComponentFactory; parent::__construct($context, $components, $data); } diff --git a/app/code/Magento/Ui/Component/MassAction/Filter.php b/app/code/Magento/Ui/Component/MassAction/Filter.php index a06592bbd6758..6aaf213a146fc 100644 --- a/app/code/Magento/Ui/Component/MassAction/Filter.php +++ b/app/code/Magento/Ui/Component/MassAction/Filter.php @@ -7,13 +7,16 @@ namespace Magento\Ui\Component\MassAction; +use Exception; use Magento\Framework\Api\FilterBuilder; +use Magento\Framework\Api\Search\DocumentInterface; use Magento\Framework\App\RequestInterface; use Magento\Framework\Data\Collection\AbstractDb; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\View\Element\UiComponent\DataProvider\DataProviderInterface; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Framework\View\Element\UiComponentInterface; +use Magento\Ui\DataProvider\AbstractDataProvider; /** * Filter component. @@ -27,26 +30,11 @@ class Filter const EXCLUDED_PARAM = 'excluded'; - /** - * @var UiComponentFactory - */ - protected $factory; - - /** - * @var RequestInterface - */ - protected $request; - /** * @var UiComponentInterface[] */ protected $components = []; - /** - * @var FilterBuilder - */ - protected $filterBuilder; - /** * @var DataProviderInterface */ @@ -58,13 +46,10 @@ class Filter * @param FilterBuilder $filterBuilder */ public function __construct( - UiComponentFactory $factory, - RequestInterface $request, - FilterBuilder $filterBuilder + protected readonly UiComponentFactory $factory, + protected readonly RequestInterface $request, + protected readonly FilterBuilder $filterBuilder ) { - $this->factory = $factory; - $this->request = $request; - $this->filterBuilder = $filterBuilder; } /** @@ -141,7 +126,7 @@ public function applySelectionOnTargetProvider() ->setValue($selected); $dataProvider->addFilter($this->filterBuilder->create()); } - } catch (\Exception $e) { + } catch (Exception $e) { throw new LocalizedException(__($e->getMessage())); } } @@ -170,7 +155,7 @@ protected function applySelection(AbstractDb $collection) } else { throw new LocalizedException(__('An item needs to be selected. Select and try again.')); } - } catch (\Exception $e) { + } catch (Exception $e) { throw new LocalizedException(__($e->getMessage())); } return $collection; @@ -225,7 +210,7 @@ private function getFilterIds() { $idsArray = []; $this->applySelectionOnTargetProvider(); - if ($this->getDataProvider() instanceof \Magento\Ui\DataProvider\AbstractDataProvider) { + if ($this->getDataProvider() instanceof AbstractDataProvider) { // Use collection's getAllIds for optimization purposes. $idsArray = $this->getDataProvider()->getAllIds(); } else { @@ -234,7 +219,7 @@ private function getFilterIds() $searchResult = $dataProvider->getSearchResult(); // Use compatible search api getItems when searchResult is not a collection. foreach ($searchResult->getItems() as $item) { - /** @var $item \Magento\Framework\Api\Search\DocumentInterface */ + /** @var DocumentInterface $item */ $idsArray[] = $item->getId(); } } diff --git a/app/code/Magento/Ui/Component/Wrapper/Block.php b/app/code/Magento/Ui/Component/Wrapper/Block.php index 0380a447e0cb9..892c941dffb49 100644 --- a/app/code/Magento/Ui/Component/Wrapper/Block.php +++ b/app/code/Magento/Ui/Component/Wrapper/Block.php @@ -17,11 +17,6 @@ class Block extends AbstractComponent implements BlockWrapperInterface { const NAME = 'blockWrapper'; - /** - * @var BlockInterface - */ - protected $block; - /** * Constructor * @@ -32,11 +27,10 @@ class Block extends AbstractComponent implements BlockWrapperInterface */ public function __construct( ContextInterface $context, - BlockInterface $block, + protected readonly BlockInterface $block, array $components = [], array $data = [] ) { - $this->block = $block; parent::__construct($context, $components, $data); } diff --git a/app/code/Magento/Ui/Component/Wrapper/UiComponent.php b/app/code/Magento/Ui/Component/Wrapper/UiComponent.php index e683aeb66c630..8046d183de102 100644 --- a/app/code/Magento/Ui/Component/Wrapper/UiComponent.php +++ b/app/code/Magento/Ui/Component/Wrapper/UiComponent.php @@ -17,18 +17,6 @@ */ class UiComponent extends Template implements ContainerInterface { - /** - * Ui component - * - * @var UiComponentInterface - */ - protected $component; - - /** - * @var BlockFactory - */ - protected $blockWrapperFactory; - /** * Constructor * @@ -39,12 +27,10 @@ class UiComponent extends Template implements ContainerInterface */ public function __construct( TemplateContext $context, - UiComponentInterface $component, - BlockFactory $blockWrapperFactory, + protected readonly UiComponentInterface $component, + protected readonly BlockFactory $blockWrapperFactory, array $data = [] ) { - $this->component = $component; - $this->blockWrapperFactory = $blockWrapperFactory; $this->setNameInLayout($this->component->getName()); parent::__construct($context, $data); } diff --git a/app/code/Magento/Ui/Component/Wysiwyg/ConfigInterface.php b/app/code/Magento/Ui/Component/Wysiwyg/ConfigInterface.php index 4a97baf35941e..7e86304ee5558 100644 --- a/app/code/Magento/Ui/Component/Wysiwyg/ConfigInterface.php +++ b/app/code/Magento/Ui/Component/Wysiwyg/ConfigInterface.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\Component\Wysiwyg; +use Magento\Framework\DataObject; + /** * Interface ConfigInterface * @@ -15,7 +17,7 @@ interface ConfigInterface /** * Return WYSIWYG configuration * - * @return \Magento\Framework\DataObject + * @return DataObject */ public function getConfig(); } diff --git a/app/code/Magento/Ui/Config/Argument/Parser/ArrayType.php b/app/code/Magento/Ui/Config/Argument/Parser/ArrayType.php index c1ca5b309b8c7..3b6197d9a8123 100644 --- a/app/code/Magento/Ui/Config/Argument/Parser/ArrayType.php +++ b/app/code/Magento/Ui/Config/Argument/Parser/ArrayType.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\Config\Argument\Parser; +use DOMNode; +use InvalidArgumentException; use Magento\Ui\Config\Argument\ParserInterface; /** @@ -12,28 +14,23 @@ */ class ArrayType implements ParserInterface { - /** - * @var ParserInterface - */ - private $itemParser; - /** * @param ParserInterface $itemParser */ - public function __construct(ParserInterface $itemParser) - { - $this->itemParser = $itemParser; + public function __construct( + private readonly ParserInterface $itemParser + ) { } /** * @inheritdoc - * @throws \InvalidArgumentException if array items isn't passed + * @throws InvalidArgumentException if array items isn't passed */ - public function parse(array $data, \DOMNode $node) + public function parse(array $data, DOMNode $node) { $items = isset($data['item']) ? $data['item'] : []; if (!is_array($items)) { - throw new \InvalidArgumentException('Array items are expected.'); + throw new InvalidArgumentException('Array items are expected.'); } $result = []; foreach ($items as $itemKey => $itemData) { diff --git a/app/code/Magento/Ui/Config/Argument/Parser/Composite.php b/app/code/Magento/Ui/Config/Argument/Parser/Composite.php index fcc9dd443fa0e..63bfd3ef01912 100644 --- a/app/code/Magento/Ui/Config/Argument/Parser/Composite.php +++ b/app/code/Magento/Ui/Config/Argument/Parser/Composite.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\Config\Argument\Parser; +use DOMNode; +use InvalidArgumentException; use Magento\Ui\Config\Argument\ParserInterface; /** @@ -19,39 +21,33 @@ class Composite implements ParserInterface */ private $parsers; - /** - * Data key that holds name of an parser to be used for that data - * - * @var string - */ - private $discriminator; - /** * @param ParserInterface[] $parsers * @param string $discriminator - * @throws \InvalidArgumentException if parser isn't implement parser interface + * @throws InvalidArgumentException if parser isn't implement parser interface */ - public function __construct(array $parsers, $discriminator) - { + public function __construct( + array $parsers, + private $discriminator + ) { foreach ($parsers as $parserName => $parserInstance) { if (!$parserInstance instanceof ParserInterface) { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( "Parser named '{$parserName}' is expected to be an argument parser instance." ); } } $this->parsers = $parsers; - $this->discriminator = $discriminator; } /** * @inheritdoc - * @throws \InvalidArgumentException if discriminator isn't passed + * @throws InvalidArgumentException if discriminator isn't passed */ - public function parse(array $data, \DOMNode $node) + public function parse(array $data, DOMNode $node) { if (!isset($data[$this->discriminator])) { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( sprintf('Value for key "%s" is missing in the argument data.', $this->discriminator) ); } @@ -66,12 +62,12 @@ public function parse(array $data, \DOMNode $node) * @param string $name * @param ParserInterface $instance * @return void - * @throws \InvalidArgumentException if parser has already been defined + * @throws InvalidArgumentException if parser has already been defined */ public function addParser($name, ParserInterface $instance) { if (isset($this->parsers[$name])) { - throw new \InvalidArgumentException("Argument parser named '{$name}' has already been defined."); + throw new InvalidArgumentException("Argument parser named '{$name}' has already been defined."); } $this->parsers[$name] = $instance; } @@ -81,12 +77,12 @@ public function addParser($name, ParserInterface $instance) * * @param string $name * @return ParserInterface - * @throws \InvalidArgumentException if the parser hasn't already been defined + * @throws InvalidArgumentException if the parser hasn't already been defined */ private function getParser($name) { if (!isset($this->parsers[$name])) { - throw new \InvalidArgumentException("Argument parser named '{$name}' has not been defined."); + throw new InvalidArgumentException("Argument parser named '{$name}' has not been defined."); } return $this->parsers[$name]; } diff --git a/app/code/Magento/Ui/Config/Argument/Parser/ConfigurableObjectType.php b/app/code/Magento/Ui/Config/Argument/Parser/ConfigurableObjectType.php index 7a15fb809a9c9..eddb272a14e9a 100644 --- a/app/code/Magento/Ui/Config/Argument/Parser/ConfigurableObjectType.php +++ b/app/code/Magento/Ui/Config/Argument/Parser/ConfigurableObjectType.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\Config\Argument\Parser; +use DOMNode; +use InvalidArgumentException; use Magento\Ui\Config\Argument\ParserInterface; /** @@ -12,28 +14,23 @@ */ class ConfigurableObjectType implements ParserInterface { - /** - * @var ParserInterface - */ - private $argumentParser; - /** * @param ParserInterface $argumentParser */ - public function __construct(ParserInterface $argumentParser) - { - $this->argumentParser = $argumentParser; + public function __construct( + public readonly ParserInterface $argumentParser + ) { } /** * @inheritdoc - * @throws \InvalidArgumentException if array arguments isn't passed + * @throws InvalidArgumentException if array arguments isn't passed */ - public function parse(array $data, \DOMNode $node) + public function parse(array $data, DOMNode $node) { $arguments = isset($data['argument']) ? $data['argument'] : []; if (!is_array($arguments)) { - throw new \InvalidArgumentException('Array arguments are expected.'); + throw new InvalidArgumentException('Array arguments are expected.'); } $result = []; foreach ($arguments as $argumentKey => $argumentData) { diff --git a/app/code/Magento/Ui/Config/Argument/Parser/ConverterType.php b/app/code/Magento/Ui/Config/Argument/Parser/ConverterType.php index ac6a8e7df1feb..b8b229204fe06 100644 --- a/app/code/Magento/Ui/Config/Argument/Parser/ConverterType.php +++ b/app/code/Magento/Ui/Config/Argument/Parser/ConverterType.php @@ -5,6 +5,9 @@ */ namespace Magento\Ui\Config\Argument\Parser; +use DOMNode; +use DOMXPath; +use InvalidArgumentException; use Magento\Ui\Config\Argument\ParserInterface; use Magento\Ui\Config\ConverterInterface; @@ -13,27 +16,22 @@ */ class ConverterType implements ParserInterface { - /** - * @var ConverterInterface - */ - private $converter; - /** * @param ConverterInterface $converter */ - public function __construct(ConverterInterface $converter) - { - $this->converter = $converter; + public function __construct( + private readonly ConverterInterface $converter + ) { } /** * @inheritdoc - * @throws \InvalidArgumentException if some input argument isn't passed + * @throws InvalidArgumentException if some input argument isn't passed */ - public function parse(array $data, \DOMNode $node) + public function parse(array $data, DOMNode $node) { $result = []; - $domXPath = new \DOMXPath($node->ownerDocument); + $domXPath = new DOMXPath($node->ownerDocument); $nodeList = $domXPath->query(trim($data['value'] ?? ''), $node); foreach ($nodeList as $itemNode) { $result = $this->converter->convert($itemNode, $data); diff --git a/app/code/Magento/Ui/Config/Argument/Parser/Url.php b/app/code/Magento/Ui/Config/Argument/Parser/Url.php index 605ee9ee0e082..5d8ef556de823 100644 --- a/app/code/Magento/Ui/Config/Argument/Parser/Url.php +++ b/app/code/Magento/Ui/Config/Argument/Parser/Url.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Argument\Parser; +use InvalidArgumentException; use Magento\Framework\Data\Argument\InterpreterInterface; use Magento\Framework\UrlInterface; use Magento\Framework\UrlFactory; @@ -22,30 +23,26 @@ class Url implements InterpreterInterface */ private $urlResolver; - /** - * @var NamedParams - */ - private $paramsInterpreter; - /** * @param UrlFactory $urlResolverFactory * @param NamedParams $paramsInterpreter */ - public function __construct(UrlFactory $urlResolverFactory, NamedParams $paramsInterpreter) - { + public function __construct( + UrlFactory $urlResolverFactory, + private readonly NamedParams $paramsInterpreter + ) { $this->urlResolver = $urlResolverFactory->create(); - $this->paramsInterpreter = $paramsInterpreter; } /** * {@inheritdoc} * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function evaluate(array $data) { if (!isset($data['path'])) { - throw new \InvalidArgumentException('URL path is missing.'); + throw new InvalidArgumentException('URL path is missing.'); } $urlPath = $data['path']; $urlParams = $this->paramsInterpreter->evaluate($data); diff --git a/app/code/Magento/Ui/Config/Argument/Parser/XpathType.php b/app/code/Magento/Ui/Config/Argument/Parser/XpathType.php index f086d49bdd185..20d5420c5be20 100644 --- a/app/code/Magento/Ui/Config/Argument/Parser/XpathType.php +++ b/app/code/Magento/Ui/Config/Argument/Parser/XpathType.php @@ -5,6 +5,9 @@ */ namespace Magento\Ui\Config\Argument\Parser; +use DOMNode; +use DOMXPath; +use InvalidArgumentException; use Magento\Ui\Config\Argument\ParserInterface; /** @@ -14,17 +17,17 @@ class XpathType implements ParserInterface { /** * @inheritdoc - * @throws \InvalidArgumentException if type isn't passed + * @throws InvalidArgumentException if type isn't passed */ - public function parse(array $data, \DOMNode $node) + public function parse(array $data, DOMNode $node) { $result = null; $type = isset($data['type']) ? $data['type'] : null; if (!$type) { - throw new \InvalidArgumentException('Type attribute are expected.'); + throw new InvalidArgumentException('Type attribute are expected.'); } unset($data['type']); - $domXPath = new \DOMXPath($node->ownerDocument); + $domXPath = new DOMXPath($node->ownerDocument); $nodeList = $domXPath->query(trim($data['value'] ?? ''), $node); if ($nodeList->length == 1) { $nodeItem = $nodeList->item(0); diff --git a/app/code/Magento/Ui/Config/Argument/ParserInterface.php b/app/code/Magento/Ui/Config/Argument/ParserInterface.php index 74a6bd970313c..e32e0d86d02c8 100644 --- a/app/code/Magento/Ui/Config/Argument/ParserInterface.php +++ b/app/code/Magento/Ui/Config/Argument/ParserInterface.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\Config\Argument; +use DOMNode; + /** * Convert node to array * @@ -16,8 +18,8 @@ interface ParserInterface * Parse xml node to array * * @param array $data - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - public function parse(array $data, \DOMNode $node); + public function parse(array $data, DOMNode $node); } diff --git a/app/code/Magento/Ui/Config/Converter.php b/app/code/Magento/Ui/Config/Converter.php index 463bd0c3afa0c..9829e29888c6a 100644 --- a/app/code/Magento/Ui/Config/Converter.php +++ b/app/code/Magento/Ui/Config/Converter.php @@ -5,6 +5,9 @@ */ namespace Magento\Ui\Config; +use DOMDocument; +use DOMNode; +use InvalidArgumentException; use Magento\Framework\Config\ConverterInterface as ConfigConverterInterface; use Magento\Framework\Config\ReaderInterface; use Magento\Framework\View\Layout\Argument\Parser; @@ -50,31 +53,11 @@ class Converter implements ConfigConverterInterface */ const CLASS_ATTRIBUTE_KEY = 'class'; - /** - * @var Parser - */ - private $argumentParser; - /** * @var array */ private $schemaMap = []; - /** - * @var ReaderInterface - */ - private $reader; - - /** - * @var ParserInterface - */ - private $parser; - - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param Parser $argumentParser * @param ParserInterface $parser @@ -82,24 +65,20 @@ class Converter implements ConfigConverterInterface * @param ConverterUtils $converterUtils */ public function __construct( - Parser $argumentParser, - ParserInterface $parser, - ReaderInterface $reader, - ConverterUtils $converterUtils + private readonly Parser $argumentParser, + private readonly ParserInterface $parser, + private readonly ReaderInterface $reader, + private readonly ConverterUtils $converterUtils ) { - $this->argumentParser = $argumentParser; - $this->reader = $reader; - $this->parser = $parser; - $this->converterUtils = $converterUtils; } /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array|string */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { $result = []; $attributes = []; @@ -121,7 +100,7 @@ private function toArray(\DOMNode $node) default: if ($node->localName === static::ARGUMENT_KEY) { if (!isset($attributes[static::NAME_ATTRIBUTE_KEY])) { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( 'Attribute "' . static::NAME_ATTRIBUTE_KEY . '" is absent in the attributes node.' ); } @@ -146,7 +125,7 @@ private function toArray(\DOMNode $node) /** * Convert configuration to array * - * @param \DOMDocument|null $source + * @param DOMDocument|null $source * @return array */ public function convert($source) @@ -165,10 +144,10 @@ public function convert($source) /** * Convert and parse node to array according to definition.map.xml * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function convertNode(\DOMNode $node) + private function convertNode(DOMNode $node) { $resultComponent = []; if (empty($node->localName) @@ -224,11 +203,11 @@ private function processAttributes(array $attributes) } /** - * @param \DOMNode $node + * @param DOMNode $node * @param array $childResult * @return array */ - private function processChildResult(\DOMNode $node, array $childResult) + private function processChildResult(DOMNode $node, array $childResult) { $result = []; if ($node->parentNode !== null) { @@ -243,10 +222,10 @@ private function processChildResult(\DOMNode $node, array $childResult) /** * Convert child nodes of $node * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function convertChildNodes(\DOMNode $node) + private function convertChildNodes(DOMNode $node) { $arguments = []; $childResult = []; diff --git a/app/code/Magento/Ui/Config/Converter/Actions.php b/app/code/Magento/Ui/Config/Converter/Actions.php index 3a2e4b9a2b5a7..8f05e9e1dec7f 100644 --- a/app/code/Magento/Ui/Config/Converter/Actions.php +++ b/app/code/Magento/Ui/Config/Converter/Actions.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Ui\Config\Converter; use Magento\Ui\Config\ConverterInterface; use Magento\Framework\ObjectManager\Config\Reader\Dom; @@ -15,30 +16,20 @@ */ class Actions implements ConverterInterface { - /** - * @var ConverterInterface - */ - private $converter; - - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterInterface $converter * @param ConverterUtils $converterUtils */ - public function __construct(ConverterInterface $converter, ConverterUtils $converterUtils) - { - $this->converter = $converter; - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterInterface $converter, + private readonly ConverterUtils $converterUtils + ) { } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if ($node->nodeType !== XML_ELEMENT_NODE) { return []; @@ -50,10 +41,10 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { if ($node->localName == 'url') { $urlResult = $this->converter->convert($node, ['type' => 'url']); @@ -65,7 +56,7 @@ private function toArray(\DOMNode $node) if ($this->hasChildElements($node)) { $result[Dom::TYPE_ATTRIBUTE] = 'array'; - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $result['item'][$this->converterUtils->getComponentName($childNode)] = $this->toArray($childNode); @@ -91,10 +82,10 @@ private function toArray(\DOMNode $node) /** * Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildElements(\DOMNode $node) + private function hasChildElements(DOMNode $node) { if ($node->hasChildNodes()) { foreach ($node->childNodes as $childNode) { @@ -109,10 +100,10 @@ private function hasChildElements(\DOMNode $node) /** * Collect node attributes * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function processAttributes(\DOMNode $node) + private function processAttributes(DOMNode $node) { $attributes = []; $childResult = []; diff --git a/app/code/Magento/Ui/Config/Converter/AdditionalClasses.php b/app/code/Magento/Ui/Config/Converter/AdditionalClasses.php index d374ffa981b8a..e0e1f658020c6 100644 --- a/app/code/Magento/Ui/Config/Converter/AdditionalClasses.php +++ b/app/code/Magento/Ui/Config/Converter/AdditionalClasses.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Framework\ObjectManager\Config\Reader\Dom; use Magento\Ui\Config\Converter; use Magento\Ui\Config\ConverterInterface; @@ -15,23 +16,18 @@ */ class AdditionalClasses implements ConverterInterface { - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterUtils $converterUtils */ - public function __construct(ConverterUtils $converterUtils) - { - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterUtils $converterUtils + ) { } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if ($node->nodeType !== XML_ELEMENT_NODE) { return []; @@ -42,17 +38,17 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { $result = [ 'name' => $this->converterUtils->getComponentName($node), Dom::TYPE_ATTRIBUTE => 'array' ]; if ($this->hasChildNodes($node)) { - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $result['item'][$this->converterUtils->getComponentName($childNode)] = [ @@ -69,10 +65,10 @@ private function toArray(\DOMNode $node) /** * Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildNodes(\DOMNode $node) + private function hasChildNodes(DOMNode $node) { if (!$node->hasChildNodes()) { return false; diff --git a/app/code/Magento/Ui/Config/Converter/Buttons.php b/app/code/Magento/Ui/Config/Converter/Buttons.php index 3cba3c1350b6a..db30083de4014 100644 --- a/app/code/Magento/Ui/Config/Converter/Buttons.php +++ b/app/code/Magento/Ui/Config/Converter/Buttons.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Ui\Config\Converter; use Magento\Ui\Config\ConverterInterface; use Magento\Framework\ObjectManager\Config\Reader\Dom; @@ -15,30 +16,20 @@ */ class Buttons implements ConverterInterface { - /** - * @var ConverterInterface - */ - private $converter; - - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterInterface $converter * @param ConverterUtils $converterUtils */ - public function __construct(ConverterInterface $converter, ConverterUtils $converterUtils) - { - $this->converter = $converter; - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterInterface $converter, + private readonly ConverterUtils $converterUtils + ) { } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if (!$node->hasChildNodes()) { return [ @@ -58,10 +49,10 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { if ($node->localName == 'url') { $urlResult = $this->converter->convert($node, ['type' => 'url']); @@ -92,10 +83,10 @@ private function toArray(\DOMNode $node) /** * Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildElements(\DOMNode $node) + private function hasChildElements(DOMNode $node) { if ($node->hasChildNodes()) { foreach ($node->childNodes as $childNode) { @@ -110,10 +101,10 @@ private function hasChildElements(\DOMNode $node) /** * Collect node attributes * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function processAttributes(\DOMNode $node) + private function processAttributes(DOMNode $node) { $attributes = []; $childResult = []; @@ -132,14 +123,14 @@ private function processAttributes(\DOMNode $node) /** * Convert child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function processChildNodes(\DOMNode $node) + private function processChildNodes(DOMNode $node) { $result[Converter::NAME_ATTRIBUTE_KEY] = $this->converterUtils->getComponentName($node); $result[Dom::TYPE_ATTRIBUTE] = 'array'; - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $result['item'][$this->converterUtils->getComponentName($childNode)] = $this->toArray($childNode); diff --git a/app/code/Magento/Ui/Config/Converter/Communication.php b/app/code/Magento/Ui/Config/Converter/Communication.php index e35304c107d66..6accb76c6c88b 100644 --- a/app/code/Magento/Ui/Config/Converter/Communication.php +++ b/app/code/Magento/Ui/Config/Converter/Communication.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Framework\ObjectManager\Config\Reader\Dom; use Magento\Ui\Config\ConverterInterface; use Magento\Ui\Config\ConverterUtils; @@ -14,23 +15,18 @@ */ class Communication implements ConverterInterface { - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterUtils $converterUtils */ - public function __construct(ConverterUtils $converterUtils) - { - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterUtils $converterUtils + ) { } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if ($node->nodeType !== XML_ELEMENT_NODE) { return []; @@ -41,17 +37,17 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { $result = [ 'name' => $this->converterUtils->getComponentName($node), Dom::TYPE_ATTRIBUTE => 'array' ]; if ($this->hasChildNodes($node)) { - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $childNodeName = $this->converterUtils->getComponentName($childNode); @@ -69,10 +65,10 @@ private function toArray(\DOMNode $node) /** * Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildNodes(\DOMNode $node) + private function hasChildNodes(DOMNode $node) { if (!$node->hasChildNodes()) { return false; diff --git a/app/code/Magento/Ui/Config/Converter/Composite.php b/app/code/Magento/Ui/Config/Converter/Composite.php index 407c6d23e6931..e95e82e26084f 100644 --- a/app/code/Magento/Ui/Config/Converter/Composite.php +++ b/app/code/Magento/Ui/Config/Converter/Composite.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; +use InvalidArgumentException; use Magento\Ui\Config\ConverterInterface; /** @@ -21,39 +23,33 @@ class Composite implements ConverterInterface */ private $converters; - /** - * Data key that holds name of an converter to be used for that data - * - * @var string - */ - private $discriminator; - /** * @param ConverterInterface[] $converters * @param string $discriminator - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ - public function __construct(array $converters, $discriminator) - { + public function __construct( + array $converters, + private $discriminator + ) { foreach ($converters as $converterName => $converterInstance) { if (!$converterInstance instanceof ConverterInterface) { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( "Converter named '{$converterName}' is expected to be an argument converter instance." ); } } $this->converters = $converters; - $this->discriminator = $discriminator; } /** * @inheritdoc - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ - public function convert(\DOMNode $node, array $data) + public function convert(DOMNode $node, array $data) { if (!isset($data[$this->discriminator])) { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( sprintf('Value for key "%s" is missing in the argument data.', $this->discriminator) ); } @@ -69,12 +65,12 @@ public function convert(\DOMNode $node, array $data) * @param string $name * @param ConverterInterface $instance * @return void - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function addConverter($name, ConverterInterface $instance) { if (isset($this->converters[$name])) { - throw new \InvalidArgumentException("Argument converter named '{$name}' has already been defined."); + throw new InvalidArgumentException("Argument converter named '{$name}' has already been defined."); } $this->converters[$name] = $instance; } @@ -84,12 +80,12 @@ public function addConverter($name, ConverterInterface $instance) * * @param string $name * @return ConverterInterface - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ private function getConverter($name) { if (!isset($this->converters[$name])) { - throw new \InvalidArgumentException("Argument converter named '{$name}' has not been defined."); + throw new InvalidArgumentException("Argument converter named '{$name}' has not been defined."); } return $this->converters[$name]; } diff --git a/app/code/Magento/Ui/Config/Converter/Deps.php b/app/code/Magento/Ui/Config/Converter/Deps.php index f8451f6d08343..a44e5738a09f0 100644 --- a/app/code/Magento/Ui/Config/Converter/Deps.php +++ b/app/code/Magento/Ui/Config/Converter/Deps.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Framework\ObjectManager\Config\Reader\Dom; use Magento\Ui\Config\Converter; use Magento\Ui\Config\ConverterInterface; @@ -15,23 +16,18 @@ */ class Deps implements ConverterInterface { - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterUtils $converterUtils */ - public function __construct(ConverterUtils $converterUtils) - { - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterUtils $converterUtils + ) { } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if ($node->nodeType !== XML_ELEMENT_NODE) { return []; @@ -42,10 +38,10 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { $result = [ 'name' => $this->converterUtils->getComponentName($node), @@ -53,7 +49,7 @@ private function toArray(\DOMNode $node) ]; if ($this->hasChildNodes($node)) { $i = 0; - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $result['item'][] = [ @@ -77,10 +73,10 @@ private function toArray(\DOMNode $node) /** * Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildNodes(\DOMNode $node) + private function hasChildNodes(DOMNode $node) { if (!$node->hasChildNodes()) { return false; diff --git a/app/code/Magento/Ui/Config/Converter/HtmlContent.php b/app/code/Magento/Ui/Config/Converter/HtmlContent.php index db874a302bd50..bee97ccf5aecf 100644 --- a/app/code/Magento/Ui/Config/Converter/HtmlContent.php +++ b/app/code/Magento/Ui/Config/Converter/HtmlContent.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Framework\View\Element\UiComponent\Config\Converter; use Magento\Ui\Config\ConverterInterface; @@ -16,7 +17,7 @@ class HtmlContent implements ConverterInterface /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data) + public function convert(DOMNode $node, array $data) { $items = []; /** @var \DOMElement $node */ diff --git a/app/code/Magento/Ui/Config/Converter/Item.php b/app/code/Magento/Ui/Config/Converter/Item.php index 86945a08edb24..b0d6f80a53a49 100644 --- a/app/code/Magento/Ui/Config/Converter/Item.php +++ b/app/code/Magento/Ui/Config/Converter/Item.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Framework\ObjectManager\Config\Reader\Dom; use Magento\Ui\Config\Converter; use Magento\Ui\Config\ConverterInterface; @@ -15,30 +16,20 @@ */ class Item implements ConverterInterface { - /** - * @var ConverterInterface - */ - private $converter; - - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterInterface $converter * @param ConverterUtils $converterUtils */ - public function __construct(ConverterInterface $converter, ConverterUtils $converterUtils) - { - $this->converter = $converter; - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterInterface $converter, + private readonly ConverterUtils $converterUtils + ){ } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if ($node->nodeType !== XML_ELEMENT_NODE) { return []; @@ -50,10 +41,10 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { if ($node->nodeType == XML_ELEMENT_NODE && $node->getAttribute(Dom::TYPE_ATTRIBUTE) == 'url') { $urlResult = $this->converter->convert($node, ['type' => 'url']); @@ -79,10 +70,10 @@ private function toArray(\DOMNode $node) /** * Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildNodes(\DOMNode $node) + private function hasChildNodes(DOMNode $node) { if ($node->hasChildNodes()) { foreach ($node->childNodes as $childNode) { @@ -97,10 +88,10 @@ private function hasChildNodes(\DOMNode $node) /** * Collect node attributes * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function processAttributes(\DOMNode $node) + private function processAttributes(DOMNode $node) { $attributes = []; foreach ($node->attributes as $attribute) { @@ -116,13 +107,13 @@ private function processAttributes(\DOMNode $node) /** * Convert child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function processChildNodes(\DOMNode $node) + private function processChildNodes(DOMNode $node) { $result[Dom::TYPE_ATTRIBUTE] = 'array'; - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $result['item'][$this->converterUtils->getComponentName($childNode)] = $this->toArray($childNode); diff --git a/app/code/Magento/Ui/Config/Converter/Options.php b/app/code/Magento/Ui/Config/Converter/Options.php index cf3ad4072fa88..c6ddc73752435 100644 --- a/app/code/Magento/Ui/Config/Converter/Options.php +++ b/app/code/Magento/Ui/Config/Converter/Options.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Ui\Config\Converter; use Magento\Ui\Config\ConverterInterface; use Magento\Framework\ObjectManager\Config\Reader\Dom; @@ -15,23 +16,18 @@ */ class Options implements ConverterInterface { - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterUtils $converterUtils */ - public function __construct(ConverterUtils $converterUtils) - { - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterUtils $converterUtils + ) { } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if ($node->nodeType !== XML_ELEMENT_NODE) { return []; @@ -43,17 +39,17 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { $result = []; $result[Converter::NAME_ATTRIBUTE_KEY] = $this->converterUtils->getComponentName($node); if ($this->hasChildElements($node)) { $result[Dom::TYPE_ATTRIBUTE] = 'array'; - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $result['item'][$this->converterUtils->getComponentName($childNode)] = $this->toArray($childNode); @@ -87,10 +83,10 @@ private function toArray(\DOMNode $node) /** * Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildElements(\DOMNode $node) + private function hasChildElements(DOMNode $node) { if ($node->hasChildNodes()) { foreach ($node->childNodes as $childNode) { diff --git a/app/code/Magento/Ui/Config/Converter/StorageConfig.php b/app/code/Magento/Ui/Config/Converter/StorageConfig.php index 8d45897cb7b54..705b0a4e2fc22 100644 --- a/app/code/Magento/Ui/Config/Converter/StorageConfig.php +++ b/app/code/Magento/Ui/Config/Converter/StorageConfig.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Ui\Config\Converter; use Magento\Ui\Config\ConverterInterface; use Magento\Framework\ObjectManager\Config\Reader\Dom; @@ -15,30 +16,20 @@ */ class StorageConfig implements ConverterInterface { - /** - * @var ConverterInterface - */ - private $converter; - - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterInterface $converter * @param ConverterUtils $converterUtils */ - public function __construct(ConverterInterface $converter, ConverterUtils $converterUtils) - { - $this->converter = $converter; - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterInterface $converter, + private readonly ConverterUtils $converterUtils + ) { } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if ($node->nodeType !== XML_ELEMENT_NODE) { return []; @@ -50,10 +41,10 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { if ($node->localName == 'path' || $node->getAttribute(Dom::TYPE_ATTRIBUTE) == 'url') { $urlResult = $this->converter->convert($node, ['type' => 'url']); @@ -87,10 +78,10 @@ private function toArray(\DOMNode $node) /** * Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildElements(\DOMNode $node) + private function hasChildElements(DOMNode $node) { if ($node->hasChildNodes()) { foreach ($node->childNodes as $childNode) { @@ -105,13 +96,13 @@ private function hasChildElements(\DOMNode $node) /** * Convert child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function processChildNodes(\DOMNode $node) + private function processChildNodes(DOMNode $node) { $result[Dom::TYPE_ATTRIBUTE] = 'array'; - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $result['item'][$this->converterUtils->getComponentName($childNode)] = $this->toArray($childNode); diff --git a/app/code/Magento/Ui/Config/Converter/Url.php b/app/code/Magento/Ui/Config/Converter/Url.php index 970feae531098..950ed32993627 100644 --- a/app/code/Magento/Ui/Config/Converter/Url.php +++ b/app/code/Magento/Ui/Config/Converter/Url.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\Config\Converter; +use DOMNode; use Magento\Framework\ObjectManager\Config\Reader\Dom; use Magento\Ui\Config\Converter; use Magento\Ui\Config\ConverterInterface; @@ -15,23 +16,18 @@ */ class Url implements ConverterInterface { - /** - * @var ConverterUtils - */ - private $converterUtils; - /** * @param ConverterUtils $converterUtils */ - public function __construct(ConverterUtils $converterUtils) - { - $this->converterUtils = $converterUtils; + public function __construct( + private readonly ConverterUtils $converterUtils + ) { } /** * @inheritdoc */ - public function convert(\DOMNode $node, array $data = []) + public function convert(DOMNode $node, array $data = []) { if ($node->nodeType !== XML_ELEMENT_NODE) { return []; @@ -43,10 +39,10 @@ public function convert(\DOMNode $node, array $data = []) /** * Convert nodes and child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - public function toArray(\DOMNode $node) + public function toArray(DOMNode $node) { $result[Converter::NAME_ATTRIBUTE_KEY] = $this->converterUtils->getComponentName($node); if ($node->localName != 'param') { @@ -70,10 +66,10 @@ public function toArray(\DOMNode $node) /** * Check Check is DOMNode has child DOMElements * - * @param \DOMNode $node + * @param DOMNode $node * @return bool */ - private function hasChildNodes(\DOMNode $node) + private function hasChildNodes(DOMNode $node) { if ($node->hasChildNodes()) { foreach ($node->childNodes as $childNode) { @@ -88,10 +84,10 @@ private function hasChildNodes(\DOMNode $node) /** * Collect node attributes * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function processAttributes(\DOMNode $node) + private function processAttributes(DOMNode $node) { $attributes = []; foreach ($node->attributes as $attribute) { @@ -107,13 +103,13 @@ private function processAttributes(\DOMNode $node) /** * Convert child nodes to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function processChildNodes(\DOMNode $node) + private function processChildNodes(DOMNode $node) { $result = []; - /** @var \DOMNode $childNode */ + /** @var DOMNode $childNode */ foreach ($node->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { $result['param'][$this->converterUtils->getComponentName($childNode)] = $this->toArray($childNode); diff --git a/app/code/Magento/Ui/Config/ConverterInterface.php b/app/code/Magento/Ui/Config/ConverterInterface.php index d2ea730a03622..bb0e15da7517e 100644 --- a/app/code/Magento/Ui/Config/ConverterInterface.php +++ b/app/code/Magento/Ui/Config/ConverterInterface.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\Config; +use DOMNode; + /** * Converter interface is used to convert UI Component XML configuration into UI Component interfaces arguments * @@ -15,9 +17,9 @@ interface ConverterInterface /** * Convert DOMNode with specific converter to array according to data * - * @param \DOMNode $node + * @param DOMNode $node * @param array $data * @return array */ - public function convert(\DOMNode $node, array $data); + public function convert(DOMNode $node, array $data); } diff --git a/app/code/Magento/Ui/Config/ConverterUtils.php b/app/code/Magento/Ui/Config/ConverterUtils.php index 49f4109dc0cd5..5b4539455f799 100644 --- a/app/code/Magento/Ui/Config/ConverterUtils.php +++ b/app/code/Magento/Ui/Config/ConverterUtils.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\Config; +use DOMNode; + /** * Utility methods for converters */ @@ -13,10 +15,10 @@ class ConverterUtils /** * Retrieve component name * - * @param \DOMNode $node + * @param DOMNode $node * @return string */ - public function getComponentName(\DOMNode $node) + public function getComponentName(DOMNode $node) { $result = $node->localName; if (!$node->hasAttributes()) { @@ -37,10 +39,10 @@ public function getComponentName(\DOMNode $node) * * If $node has 'settings', 'formElements' node in any parent node that it is not UiComponent * - * @param \DOMNode $node + * @param DOMNode $node * @return boolean */ - public function isUiComponent(\DOMNode $node) + public function isUiComponent(DOMNode $node) { if (in_array($node->localName, [Converter::SETTINGS_KEY, 'formElements'])) { return false; diff --git a/app/code/Magento/Ui/Config/Data.php b/app/code/Magento/Ui/Config/Data.php index 9c33eaf3fcf95..3b682fefb8538 100644 --- a/app/code/Magento/Ui/Config/Data.php +++ b/app/code/Magento/Ui/Config/Data.php @@ -6,6 +6,7 @@ namespace Magento\Ui\Config; use Magento\Framework\Config\CacheInterface; +use Magento\Framework\Config\DataInterface; use Magento\Framework\Serialize\SerializerInterface; use Magento\Ui\Config\Converter; use Magento\Framework\Data\Argument\InterpreterInterface; @@ -13,7 +14,7 @@ /** * UI Component configuration data */ -class Data implements \Magento\Framework\Config\DataInterface +class Data implements DataInterface { /** * ID in the storage cache @@ -32,38 +33,11 @@ class Data implements \Magento\Framework\Config\DataInterface */ private $data = []; - /** - * @var ReaderFactory - */ - private $readerFactory; - - /** - * @var CacheInterface - */ - private $cache; - /** * @var string */ private $cacheId; - /** - * @var SerializerInterface - */ - private $serializer; - - /** - * @var string - */ - private $componentName; - - /** - * Argument interpreter. - * - * @var InterpreterInterface - */ - private $argumentInterpreter; - /** * @param string $componentName * @param ReaderFactory $readerFactory @@ -72,17 +46,12 @@ class Data implements \Magento\Framework\Config\DataInterface * @param InterpreterInterface $argumentInterpreter, */ public function __construct( - $componentName, - ReaderFactory $readerFactory, - CacheInterface $cache, - SerializerInterface $serializer, - InterpreterInterface $argumentInterpreter + private $componentName, + private readonly ReaderFactory $readerFactory, + private readonly CacheInterface $cache, + private readonly SerializerInterface $serializer, + private readonly InterpreterInterface $argumentInterpreter ) { - $this->readerFactory = $readerFactory; - $this->cache = $cache; - $this->serializer = $serializer; - $this->componentName = $componentName; - $this->argumentInterpreter = $argumentInterpreter; $this->cacheId = static::CACHE_ID . '_' . $componentName; } diff --git a/app/code/Magento/Ui/Config/Reader.php b/app/code/Magento/Ui/Config/Reader.php index f7a781d103c05..a2368b3be1f37 100644 --- a/app/code/Magento/Ui/Config/Reader.php +++ b/app/code/Magento/Ui/Config/Reader.php @@ -12,6 +12,7 @@ use Magento\Framework\Config\ReaderInterface; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Phrase; +use Magento\Ui\Config\Reader\Dom as ReaderDom; /** * UI Component configuration reader @@ -25,38 +26,6 @@ class Reader implements ReaderInterface */ private $idAttributes = ['/' => 'name']; - /** - * @var Reader\Definition - */ - private $definitionReader; - - /** - * @var ReaderFactory - */ - private $readerFactory; - - /** - * @var FileResolverInterface - */ - private $fileResolver; - - /** - * @var ConfigConverter - */ - private $converter; - - /** - * @var Reader\DomFactory - */ - private $readerDomFactory; - - /** - * The name of file that stores Ui configuration - * - * @var string - */ - private $fileName; - /** * Reader constructor. * @@ -69,20 +38,14 @@ class Reader implements ReaderInterface * @param array $idAttributes */ public function __construct( - $fileName, - FileResolverInterface $fileResolver, - ConfigConverter $converter, - Reader\Definition $definitionReader, - ReaderFactory $readerFactory, - Reader\DomFactory $readerDomFactory, + private $fileName, + private readonly FileResolverInterface $fileResolver, + private readonly ConfigConverter $converter, + private readonly Reader\Definition $definitionReader, + private readonly ReaderFactory $readerFactory, + private readonly Reader\DomFactory $readerDomFactory, array $idAttributes = [] ) { - $this->fileName = $fileName; - $this->fileResolver = $fileResolver; - $this->converter = $converter; - $this->definitionReader = $definitionReader; - $this->readerFactory = $readerFactory; - $this->readerDomFactory = $readerDomFactory; $this->idAttributes = array_replace($this->idAttributes, $idAttributes); } @@ -113,7 +76,7 @@ public function read($scope = null) */ private function readFiles($fileList) { - /** @var \Magento\Ui\Config\Reader\Dom $configMerger */ + /** @var ReaderDom $configMerger */ $configMerger = null; $output = []; foreach ($fileList as $key => $content) { diff --git a/app/code/Magento/Ui/Config/Reader/Definition.php b/app/code/Magento/Ui/Config/Reader/Definition.php index 782a75187190b..ecc83af7721c0 100644 --- a/app/code/Magento/Ui/Config/Reader/Definition.php +++ b/app/code/Magento/Ui/Config/Reader/Definition.php @@ -6,7 +6,9 @@ namespace Magento\Ui\Config\Reader; +use Magento\Framework\Config\Dom as ConfigDom; use Magento\Framework\Config\Dom\ValidationException; +use Magento\Framework\Config\Reader\Filesystem; use Magento\Framework\Config\ReaderInterface; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Phrase; @@ -14,7 +16,7 @@ /** * UI Component definition config reader */ -class Definition extends \Magento\Framework\Config\Reader\Filesystem implements ReaderInterface +class Definition extends Filesystem implements ReaderInterface { /** * Load configuration scope @@ -43,7 +45,7 @@ public function read($scope = null) */ private function readFiles($fileList) { - /** @var \Magento\Framework\Config\Dom $configMerger */ + /** @var ConfigDom $configMerger */ $configMerger = null; foreach ($fileList as $key => $content) { try { diff --git a/app/code/Magento/Ui/Config/Reader/Definition/Data.php b/app/code/Magento/Ui/Config/Reader/Definition/Data.php index 44b2c87e544a2..812d4d4db3337 100644 --- a/app/code/Magento/Ui/Config/Reader/Definition/Data.php +++ b/app/code/Magento/Ui/Config/Reader/Definition/Data.php @@ -6,6 +6,7 @@ namespace Magento\Ui\Config\Reader\Definition; use Magento\Framework\Config\CacheInterface; +use Magento\Framework\Config\DataInterface; use Magento\Framework\Serialize\SerializerInterface; use Magento\Ui\Config\Converter; use Magento\Framework\Data\Argument\InterpreterInterface; @@ -15,7 +16,7 @@ /** * Read UI Component definition configuration data ang evaluate arguments */ -class Data implements \Magento\Framework\Config\DataInterface +class Data implements DataInterface { const CACHE_ID = 'ui_component_configuration_definition_data'; @@ -28,33 +29,11 @@ class Data implements \Magento\Framework\Config\DataInterface */ private $data = []; - /** - * @var ReaderFactory - */ - private $readerFactory; - - /** - * @var CacheInterface - */ - private $cache; - /** * @var string */ private $cacheId; - /** - * @var SerializerInterface - */ - private $serializer; - - /** - * Argument interpreter. - * - * @var InterpreterInterface - */ - private $argumentInterpreter; - /** * @param DefinitionFactory $readerFactory * @param CacheInterface $cache @@ -62,15 +41,11 @@ class Data implements \Magento\Framework\Config\DataInterface * @param InterpreterInterface $argumentInterpreter */ public function __construct( - DefinitionFactory $readerFactory, - CacheInterface $cache, - SerializerInterface $serializer, - InterpreterInterface $argumentInterpreter + private readonly DefinitionFactory $readerFactory, + private readonly CacheInterface $cache, + private readonly SerializerInterface $serializer, + private readonly InterpreterInterface $argumentInterpreter ) { - $this->readerFactory = $readerFactory; - $this->cache = $cache; - $this->serializer = $serializer; - $this->argumentInterpreter = $argumentInterpreter; $this->cacheId = static::CACHE_ID; $this->initData(); } diff --git a/app/code/Magento/Ui/Config/Reader/Definition/SchemaLocator.php b/app/code/Magento/Ui/Config/Reader/Definition/SchemaLocator.php index defeea5f2567e..df1ae283535f5 100644 --- a/app/code/Magento/Ui/Config/Reader/Definition/SchemaLocator.php +++ b/app/code/Magento/Ui/Config/Reader/Definition/SchemaLocator.php @@ -5,12 +5,14 @@ */ namespace Magento\Ui\Config\Reader\Definition; +use Magento\Framework\Config\SchemaLocatorInterface; use Magento\Framework\Module\Dir; +use Magento\Framework\Module\Dir\Reader as DirReader; /** * Config schema locator interface */ -class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface +class SchemaLocator implements SchemaLocatorInterface { /** * Path to corresponding XSD file with validation rules for merged config @@ -20,9 +22,9 @@ class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface private $schema; /** - * @param \Magento\Framework\Module\Dir\Reader $moduleReader + * @param DirReader $moduleReader */ - public function __construct(\Magento\Framework\Module\Dir\Reader $moduleReader) + public function __construct(DirReader $moduleReader) { $this->schema = $moduleReader->getModuleDir(Dir::MODULE_ETC_DIR, 'Magento_Ui') . '/' . 'ui_definition.xsd'; } diff --git a/app/code/Magento/Ui/Config/Reader/DefinitionMap.php b/app/code/Magento/Ui/Config/Reader/DefinitionMap.php index 963b02d05db08..5e82a97b89b43 100644 --- a/app/code/Magento/Ui/Config/Reader/DefinitionMap.php +++ b/app/code/Magento/Ui/Config/Reader/DefinitionMap.php @@ -5,11 +5,12 @@ */ namespace Magento\Ui\Config\Reader; +use Magento\Framework\Config\Reader\Filesystem; use Magento\Framework\Config\ReaderInterface; /** * UI Component definition map config reader */ -class DefinitionMap extends \Magento\Framework\Config\Reader\Filesystem implements ReaderInterface +class DefinitionMap extends Filesystem implements ReaderInterface { } diff --git a/app/code/Magento/Ui/Config/Reader/DefinitionMap/Converter.php b/app/code/Magento/Ui/Config/Reader/DefinitionMap/Converter.php index 77220c8ac145a..a2b69af51d349 100644 --- a/app/code/Magento/Ui/Config/Reader/DefinitionMap/Converter.php +++ b/app/code/Magento/Ui/Config/Reader/DefinitionMap/Converter.php @@ -5,6 +5,9 @@ */ namespace Magento\Ui\Config\Reader\DefinitionMap; +use DOMDocument; +use DOMNode; +use InvalidArgumentException; use Magento\Framework\Config\ConverterInterface; use Magento\Framework\View\Layout\Argument\Parser; @@ -33,28 +36,23 @@ class Converter implements ConverterInterface */ const NAME_ATTRIBUTE_KEY = 'name'; - /** - * @var Parser - */ - private $argumentParser; - /** * Converter constructor. * * @param Parser $argumentParser */ - public function __construct(Parser $argumentParser) - { - $this->argumentParser = $argumentParser; + public function __construct( + private readonly Parser $argumentParser + ) { } /** * Transform Xml to array * - * @param \DOMNode $node + * @param DOMNode $node * @return array|string */ - private function toArray(\DOMNode $node) + private function toArray(DOMNode $node) { $result = []; $attributes = []; @@ -78,7 +76,7 @@ private function toArray(\DOMNode $node) default: if ($node->localName === static::ARGUMENT_KEY) { if (!isset($attributes[static::NAME_ATTRIBUTE_KEY])) { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( 'Attribute "' . static::NAME_ATTRIBUTE_KEY . '" is absent in the attributes node.' ); } @@ -98,10 +96,10 @@ private function toArray(\DOMNode $node) /** * Retrieve component name * - * @param \DOMNode $node + * @param DOMNode $node * @return string */ - private function getComponentName(\DOMNode $node) + private function getComponentName(DOMNode $node) { $result = $node->localName; if (!$node->hasAttributes()) { @@ -120,7 +118,7 @@ private function getComponentName(\DOMNode $node) /** * Convert configuration * - * @param \DOMDocument|null $source + * @param DOMDocument|null $source * @return array */ public function convert($source) @@ -167,10 +165,10 @@ private function processMap($componentData, $sourceMap) /** * Convert child nodes of $node * - * @param \DOMNode $node + * @param DOMNode $node * @return array */ - private function convertChildNodes(\DOMNode $node) + private function convertChildNodes(DOMNode $node) { $arguments = []; $childResult = []; diff --git a/app/code/Magento/Ui/Config/Reader/DefinitionMap/SchemaLocator.php b/app/code/Magento/Ui/Config/Reader/DefinitionMap/SchemaLocator.php index 89c16f5fdea77..11f27394c1223 100644 --- a/app/code/Magento/Ui/Config/Reader/DefinitionMap/SchemaLocator.php +++ b/app/code/Magento/Ui/Config/Reader/DefinitionMap/SchemaLocator.php @@ -5,13 +5,14 @@ */ namespace Magento\Ui\Config\Reader\DefinitionMap; +use Magento\Framework\Config\SchemaLocatorInterface; use Magento\Framework\Module\Dir; use Magento\Framework\Module\Dir\Reader; /** * Config schema locator interface */ -class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface +class SchemaLocator implements SchemaLocatorInterface { /** * Path to corresponding XSD file with validation rules for merged config diff --git a/app/code/Magento/Ui/Config/Reader/Dom.php b/app/code/Magento/Ui/Config/Reader/Dom.php index 70ce5f39252c6..9a6002f0ab74b 100644 --- a/app/code/Magento/Ui/Config/Reader/Dom.php +++ b/app/code/Magento/Ui/Config/Reader/Dom.php @@ -5,6 +5,10 @@ */ namespace Magento\Ui\Config\Reader; +use DOMElement; +use DOMNode; +use DOMNodeList; +use DOMXPath; use Magento\Framework\Config\SchemaLocatorInterface; use Magento\Framework\Config\ValidationStateInterface; use Magento\Ui\Config\Converter; @@ -16,14 +20,7 @@ class Dom extends ConfigDom { /** - * Id attribute list - * - * @var array - */ - private $idAttributes = []; - - /** - * @var \DOMXPath + * @var DOMXPath */ private $domXPath; @@ -34,11 +31,6 @@ class Dom extends ConfigDom */ private $schemaFile; - /** - * @var SchemaLocatorInterface - */ - private $schemaLocator; - /** * Dom constructor * @@ -52,8 +44,8 @@ class Dom extends ConfigDom public function __construct( $xml, ValidationStateInterface $validationState, - SchemaLocatorInterface $schemaLocator, - array $idAttributes = [], + private readonly SchemaLocatorInterface $schemaLocator, + private array $idAttributes = [], $typeAttributeName = null, $errorFormat = ConfigDom::ERROR_FORMAT_DEFAULT ) { @@ -62,7 +54,6 @@ public function __construct( ? $schemaLocator->getPerFileSchema() : null; parent::__construct($xml, $validationState, $idAttributes, $typeAttributeName, $this->schemaFile, $errorFormat); - $this->schemaLocator = $schemaLocator; } /** @@ -74,18 +65,18 @@ public function __construct( public function merge($xml) { $dom = $this->_initDom($xml); - $this->domXPath = new \DOMXPath($this->getDom()); + $this->domXPath = new DOMXPath($this->getDom()); $this->nestedMerge($this->getDom()->documentElement, $dom->childNodes); } /** * Merge nested xml nodes * - * @param \DOMNode $contextNode - * @param \DOMNodeList $insertedNodes + * @param DOMNode $contextNode + * @param DOMNodeList $insertedNodes * @return void */ - private function nestedMerge(\DOMNode $contextNode, \DOMNodeList $insertedNodes) + private function nestedMerge(DOMNode $contextNode, DOMNodeList $insertedNodes) { foreach ($insertedNodes as $insertedItem) { switch ($insertedItem->nodeType) { @@ -117,11 +108,11 @@ private function nestedMerge(\DOMNode $contextNode, \DOMNodeList $insertedNodes) /** * Merge node to matched root elements * - * @param \DOMNodeList $rootMatchList - * @param \DOMElement $insertedItem + * @param DOMNodeList $rootMatchList + * @param DOMElement $insertedItem * @return void */ - private function processMatchedNodes(\DOMNodeList $rootMatchList, \DOMElement $insertedItem) + private function processMatchedNodes(DOMNodeList $rootMatchList, DOMElement $insertedItem) { foreach ($rootMatchList as $rootItem) { if ($this->_isTextNode($insertedItem) && $this->_isTextNode($rootItem)) { @@ -136,10 +127,10 @@ private function processMatchedNodes(\DOMNodeList $rootMatchList, \DOMElement $i /** * Create XPath from node * - * @param \DOMNode $node + * @param DOMNode $node * @return string */ - private function createXPath(\DOMNode $node) + private function createXPath(DOMNode $node) { $parentXPath = ''; $currentXPath = $node->getNodePath() ?? ''; @@ -170,11 +161,11 @@ private function createXPath(\DOMNode $node) /** * Append $insertedNode to $contextNode * - * @param \DOMNode $insertedNode - * @param \DOMNode $contextNode + * @param DOMNode $insertedNode + * @param DOMNode $contextNode * @return void */ - private function appendNode(\DOMNode $insertedNode, \DOMNode $contextNode) + private function appendNode(DOMNode $insertedNode, DOMNode $contextNode) { $importNode = $this->getDom()->importNode($insertedNode, true); if (in_array($importNode->localName, [Converter::ARGUMENT_KEY, Converter::SETTINGS_KEY])) { @@ -187,18 +178,18 @@ private function appendNode(\DOMNode $insertedNode, \DOMNode $contextNode) /** * Append node to context node in correct position * - * @param \DOMNode $contextNode - * @param \DOMNode $importNode + * @param DOMNode $contextNode + * @param DOMNode $importNode * @return void */ - private function appendNodeToContext(\DOMNode $contextNode, \DOMNode $importNode) + private function appendNodeToContext(DOMNode $contextNode, DOMNode $importNode) { if (!$contextNode->hasChildNodes()) { $contextNode->appendChild($importNode); return; } $childContextNode = null; - /** @var \DOMNode $child */ + /** @var DOMNode $child */ foreach ($contextNode->childNodes as $child) { if ($child->nodeType != XML_ELEMENT_NODE) { continue; diff --git a/app/code/Magento/Ui/Config/Reader/FileResolver.php b/app/code/Magento/Ui/Config/Reader/FileResolver.php index 12b8b26405e9a..a2c952ee74ed4 100644 --- a/app/code/Magento/Ui/Config/Reader/FileResolver.php +++ b/app/code/Magento/Ui/Config/Reader/FileResolver.php @@ -14,11 +14,6 @@ */ class FileResolver implements FileResolverInterface { - /** - * @var AggregatedFileCollectorFactory - */ - private $fileCollectorFactory; - /** * @var string */ @@ -27,9 +22,9 @@ class FileResolver implements FileResolverInterface /** * @param AggregatedFileCollectorFactory $fileCollectorFactory */ - public function __construct(AggregatedFileCollectorFactory $fileCollectorFactory) - { - $this->fileCollectorFactory = $fileCollectorFactory; + public function __construct( + private readonly AggregatedFileCollectorFactory $fileCollectorFactory + ) { } /** diff --git a/app/code/Magento/Ui/Config/Reader/SchemaLocator.php b/app/code/Magento/Ui/Config/Reader/SchemaLocator.php index 7f440d13abc2e..45cde5570c698 100644 --- a/app/code/Magento/Ui/Config/Reader/SchemaLocator.php +++ b/app/code/Magento/Ui/Config/Reader/SchemaLocator.php @@ -5,13 +5,14 @@ */ namespace Magento\Ui\Config\Reader; +use Magento\Framework\Config\SchemaLocatorInterface; use Magento\Framework\Module\Dir; use Magento\Framework\Module\Dir\Reader; /** * Config schema locator interface */ -class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface +class SchemaLocator implements SchemaLocatorInterface { /** * Path to corresponding XSD file with validation rules for config (per-file) diff --git a/app/code/Magento/Ui/Config/Reader/Template/SchemaLocator.php b/app/code/Magento/Ui/Config/Reader/Template/SchemaLocator.php index 329bcd5705485..7db918baced8c 100644 --- a/app/code/Magento/Ui/Config/Reader/Template/SchemaLocator.php +++ b/app/code/Magento/Ui/Config/Reader/Template/SchemaLocator.php @@ -5,12 +5,14 @@ */ namespace Magento\Ui\Config\Reader\Template; +use Magento\Framework\Config\SchemaLocatorInterface; use Magento\Framework\Module\Dir; +use Magento\Framework\Module\Dir\Reader as DirReader; /** * Config schema locator interface */ -class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface +class SchemaLocator implements SchemaLocatorInterface { /** * Path to corresponding XSD file with validation rules for merged config @@ -20,9 +22,9 @@ class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface private $schema; /** - * @param \Magento\Framework\Module\Dir\Reader $moduleReader + * @param DirReader $moduleReader */ - public function __construct(\Magento\Framework\Module\Dir\Reader $moduleReader) + public function __construct(DirReader $moduleReader) { $this->schema = $moduleReader->getModuleDir(Dir::MODULE_ETC_DIR, 'Magento_Ui') . '/' . 'ui_template.xsd'; } diff --git a/app/code/Magento/Ui/Controller/Adminhtml/AbstractAction.php b/app/code/Magento/Ui/Controller/Adminhtml/AbstractAction.php index e7ca944908e07..a269fff720ae4 100644 --- a/app/code/Magento/Ui/Controller/Adminhtml/AbstractAction.php +++ b/app/code/Magento/Ui/Controller/Adminhtml/AbstractAction.php @@ -17,19 +17,15 @@ */ abstract class AbstractAction extends Action implements UiActionInterface { - /** - * @var UiComponentFactory - */ - protected $factory; - /** * @param Context $context * @param UiComponentFactory $factory */ - public function __construct(Context $context, UiComponentFactory $factory) - { + public function __construct( + Context $context, + protected readonly UiComponentFactory $factory + ) { parent::__construct($context); - $this->factory = $factory; } /** diff --git a/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Delete.php b/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Delete.php index 78cea3c6504dc..1a0da95f5b1bd 100644 --- a/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Delete.php +++ b/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Delete.php @@ -18,16 +18,6 @@ */ class Delete extends AbstractAction { - /** - * @var BookmarkRepositoryInterface - */ - protected $bookmarkRepository; - - /** - * @var BookmarkManagementInterface - */ - private $bookmarkManagement; - /** * @param Context $context * @param UiComponentFactory $factory @@ -37,12 +27,10 @@ class Delete extends AbstractAction public function __construct( Context $context, UiComponentFactory $factory, - BookmarkRepositoryInterface $bookmarkRepository, - BookmarkManagementInterface $bookmarkManagement + protected readonly BookmarkRepositoryInterface $bookmarkRepository, + private readonly BookmarkManagementInterface $bookmarkManagement ) { parent::__construct($context, $factory); - $this->bookmarkRepository = $bookmarkRepository; - $this->bookmarkManagement = $bookmarkManagement; } /** diff --git a/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php b/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php index 1c95428ea93e0..64892c0cfc800 100644 --- a/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php +++ b/app/code/Magento/Ui/Controller/Adminhtml/Bookmark/Save.php @@ -5,16 +5,21 @@ */ namespace Magento\Ui\Controller\Adminhtml\Bookmark; +use InvalidArgumentException; +use LogicException; use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; use Magento\Authorization\Model\UserContextInterface; use Magento\Backend\App\Action\Context; +use Magento\Framework\App\ObjectManager; use Magento\Framework\Json\DecoderInterface; +use Magento\Framework\Serialize\Serializer\Json; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Ui\Api\BookmarkManagementInterface; use Magento\Ui\Api\BookmarkRepositoryInterface; use Magento\Ui\Api\Data\BookmarkInterface; use Magento\Ui\Api\Data\BookmarkInterfaceFactory; use Magento\Ui\Controller\Adminhtml\AbstractAction; +use RuntimeException; /** * Bookmark Save action @@ -32,37 +37,6 @@ class Save extends AbstractAction implements HttpPostActionInterface public const VIEWS_IDENTIFIER = 'views'; - /** - * @var BookmarkRepositoryInterface - */ - protected $bookmarkRepository; - - /** - * @var BookmarkManagementInterface - */ - protected $bookmarkManagement; - - /** - * @var BookmarkInterfaceFactory - */ - protected $bookmarkFactory; - - /** - * @var UserContextInterface - */ - protected $userContext; - - /** - * @var DecoderInterface - * @deprecated 101.1.0 - */ - protected $jsonDecoder; - - /** - * @var \Magento\Framework\Serialize\Serializer\Json - */ - private $serializer; - /** * @param Context $context * @param UiComponentFactory $factory @@ -71,35 +45,30 @@ class Save extends AbstractAction implements HttpPostActionInterface * @param BookmarkInterfaceFactory $bookmarkFactory * @param UserContextInterface $userContext * @param DecoderInterface $jsonDecoder - * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer - * @throws \RuntimeException + * @param Json|null $serializer + * @throws RuntimeException */ public function __construct( Context $context, UiComponentFactory $factory, - BookmarkRepositoryInterface $bookmarkRepository, - BookmarkManagementInterface $bookmarkManagement, - BookmarkInterfaceFactory $bookmarkFactory, - UserContextInterface $userContext, - DecoderInterface $jsonDecoder, - \Magento\Framework\Serialize\Serializer\Json $serializer = null + protected readonly BookmarkRepositoryInterface $bookmarkRepository, + protected readonly BookmarkManagementInterface $bookmarkManagement, + protected readonly BookmarkInterfaceFactory $bookmarkFactory, + protected readonly UserContextInterface $userContext, + protected readonly DecoderInterface $jsonDecoder, + private ?Json $serializer = null ) { parent::__construct($context, $factory); - $this->bookmarkRepository = $bookmarkRepository; - $this->bookmarkManagement = $bookmarkManagement; - $this->bookmarkFactory = $bookmarkFactory; - $this->userContext = $userContext; - $this->jsonDecoder = $jsonDecoder; - $this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\Serialize\Serializer\Json::class); + $this->serializer = $serializer ?: ObjectManager::getInstance() + ->get(Json::class); } /** * Action for AJAX request * * @return void - * @throws \InvalidArgumentException - * @throws \LogicException + * @throws InvalidArgumentException + * @throws LogicException */ public function execute() { @@ -110,7 +79,7 @@ public function execute() $bookmark = $this->bookmarkFactory->create(); $jsonData = $this->_request->getParam('data'); if (!$jsonData) { - throw new \InvalidArgumentException('Invalid parameter "data"'); + throw new InvalidArgumentException('Invalid parameter "data"'); } $data = $this->serializer->unserialize($jsonData); $action = key($data); @@ -143,7 +112,7 @@ public function execute() break; default: - throw new \LogicException(__('Unsupported bookmark action.')); + throw new LogicException(__('Unsupported bookmark action.')); } } diff --git a/app/code/Magento/Ui/Controller/Adminhtml/Export/GridToCsv.php b/app/code/Magento/Ui/Controller/Adminhtml/Export/GridToCsv.php index cb0fae3c18e59..286cef5fdb179 100644 --- a/app/code/Magento/Ui/Controller/Adminhtml/Export/GridToCsv.php +++ b/app/code/Magento/Ui/Controller/Adminhtml/Export/GridToCsv.php @@ -7,37 +7,20 @@ use Magento\Backend\App\Action; use Magento\Backend\App\Action\Context; +use Magento\Framework\App\ResponseInterface; +use Magento\Framework\Exception\LocalizedException; use Magento\Ui\Model\Export\ConvertToCsv; use Magento\Framework\App\Response\Http\FileFactory; use Magento\Framework\App\ObjectManager; use Magento\Ui\Component\MassAction\Filter; use Psr\Log\LoggerInterface; +use Throwable; /** * Class Render */ class GridToCsv extends Action { - /** - * @var ConvertToCsv - */ - protected $converter; - - /** - * @var FileFactory - */ - protected $fileFactory; - - /** - * @var Filter - */ - private $filter; - - /** - * @var LoggerInterface - */ - private $logger; - /** * @param Context $context * @param ConvertToCsv $converter @@ -47,14 +30,12 @@ class GridToCsv extends Action */ public function __construct( Context $context, - ConvertToCsv $converter, - FileFactory $fileFactory, - Filter $filter = null, - LoggerInterface $logger = null + protected readonly ConvertToCsv $converter, + protected readonly FileFactory $fileFactory, + private ?Filter $filter = null, + private ?LoggerInterface $logger = null ) { parent::__construct($context); - $this->converter = $converter; - $this->fileFactory = $fileFactory; $this->filter = $filter ?: ObjectManager::getInstance()->get(Filter::class); $this->logger = $logger ?: ObjectManager::getInstance()->get(LoggerInterface::class); } @@ -62,8 +43,8 @@ public function __construct( /** * Export data provider to CSV * - * @throws \Magento\Framework\Exception\LocalizedException - * @return \Magento\Framework\App\ResponseInterface + * @throws LocalizedException + * @return ResponseInterface */ public function execute() { @@ -88,7 +69,7 @@ protected function _isAllowed() $dataProviderConfig['aclResource'] ); } - } catch (\Throwable $exception) { + } catch (Throwable $exception) { $this->logger->critical($exception); return false; diff --git a/app/code/Magento/Ui/Controller/Adminhtml/Export/GridToXml.php b/app/code/Magento/Ui/Controller/Adminhtml/Export/GridToXml.php index 130e89bb246b9..9baeb82740b17 100644 --- a/app/code/Magento/Ui/Controller/Adminhtml/Export/GridToXml.php +++ b/app/code/Magento/Ui/Controller/Adminhtml/Export/GridToXml.php @@ -7,37 +7,20 @@ use Magento\Backend\App\Action; use Magento\Backend\App\Action\Context; +use Magento\Framework\App\ResponseInterface; +use Magento\Framework\Exception\LocalizedException; use Magento\Ui\Model\Export\ConvertToXml; use Magento\Framework\App\Response\Http\FileFactory; use Magento\Framework\App\ObjectManager; use Magento\Ui\Component\MassAction\Filter; use Psr\Log\LoggerInterface; +use Throwable; /** * Class Render */ class GridToXml extends Action { - /** - * @var ConvertToXml - */ - protected $converter; - - /** - * @var FileFactory - */ - protected $fileFactory; - - /** - * @var Filter - */ - private $filter; - - /** - * @var LoggerInterface - */ - private $logger; - /** * @param Context $context * @param ConvertToXml $converter @@ -47,14 +30,12 @@ class GridToXml extends Action */ public function __construct( Context $context, - ConvertToXml $converter, - FileFactory $fileFactory, - Filter $filter = null, - LoggerInterface $logger = null + protected readonly ConvertToXml $converter, + protected readonly FileFactory $fileFactory, + private ?Filter $filter = null, + private ?LoggerInterface $logger = null ) { parent::__construct($context); - $this->converter = $converter; - $this->fileFactory = $fileFactory; $this->filter = $filter ?: ObjectManager::getInstance()->get(Filter::class); $this->logger = $logger ?: ObjectManager::getInstance()->get(LoggerInterface::class); } @@ -62,8 +43,8 @@ public function __construct( /** * Export data provider to XML * - * @throws \Magento\Framework\Exception\LocalizedException - * @return \Magento\Framework\App\ResponseInterface + * @throws LocalizedException + * @return ResponseInterface */ public function execute() { @@ -88,7 +69,7 @@ protected function _isAllowed() $dataProviderConfig['aclResource'] ); } - } catch (\Throwable $exception) { + } catch (Throwable $exception) { $this->logger->critical($exception); return false; diff --git a/app/code/Magento/Ui/Controller/Adminhtml/Index/Render.php b/app/code/Magento/Ui/Controller/Adminhtml/Index/Render.php index a1502b0650e2b..095f468410fe5 100644 --- a/app/code/Magento/Ui/Controller/Adminhtml/Index/Render.php +++ b/app/code/Magento/Ui/Controller/Adminhtml/Index/Render.php @@ -5,7 +5,13 @@ */ namespace Magento\Ui\Controller\Adminhtml\Index; +use Exception; +use Laminas\Http\AbstractMessage; +use Laminas\Http\Response; use Magento\Backend\App\Action\Context; +use Magento\Framework\App\ObjectManager; +use Magento\Framework\Controller\Result\Json as ResultJson; +use Magento\Framework\Exception\LocalizedException; use Magento\Ui\Controller\Adminhtml\AbstractAction; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Framework\View\Element\UiComponentInterface; @@ -25,26 +31,6 @@ */ class Render extends AbstractAction { - /** - * @var \Magento\Ui\Model\UiComponentTypeResolver - */ - private $contentTypeResolver; - - /** - * @var JsonFactory - */ - private $resultJsonFactory; - - /** - * @var Escaper - */ - private $escaper; - - /** - * @var LoggerInterface - */ - private $logger; - /** * @param Context $context * @param UiComponentFactory $factory @@ -56,19 +42,18 @@ class Render extends AbstractAction public function __construct( Context $context, UiComponentFactory $factory, - UiComponentTypeResolver $contentTypeResolver, - JsonFactory $resultJsonFactory = null, - Escaper $escaper = null, - LoggerInterface $logger = null + private readonly UiComponentTypeResolver $contentTypeResolver, + private ?JsonFactory $resultJsonFactory = null, + private ?Escaper $escaper = null, + private ?LoggerInterface $logger = null ) { parent::__construct($context, $factory); - $this->contentTypeResolver = $contentTypeResolver; - $this->resultJsonFactory = $resultJsonFactory ?: \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\Controller\Result\JsonFactory::class); - $this->escaper = $escaper ?: \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\Escaper::class); - $this->logger = $logger ?: \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Psr\Log\LoggerInterface::class); + $this->resultJsonFactory = $resultJsonFactory ?: ObjectManager::getInstance() + ->get(JsonFactory::class); + $this->escaper = $escaper ?: ObjectManager::getInstance() + ->get(Escaper::class); + $this->logger = $logger ?: ObjectManager::getInstance() + ->get(LoggerInterface::class); } /** @@ -93,11 +78,11 @@ public function execute() $contentType = $this->contentTypeResolver->resolve($component->getContext()); $this->getResponse()->setHeader('Content-Type', $contentType, true); } else { - /** @var \Magento\Framework\Controller\Result\Json $resultJson */ + /** @var ResultJson $resultJson */ $resultJson = $this->resultJsonFactory->create(); $resultJson->setStatusHeader( - \Laminas\Http\Response::STATUS_CODE_403, - \Laminas\Http\AbstractMessage::VERSION_11, + Response::STATUS_CODE_403, + AbstractMessage::VERSION_11, 'Forbidden' ); return $resultJson->setData([ @@ -105,32 +90,32 @@ public function execute() 'errorcode' => 403 ]); } - } catch (\Magento\Framework\Exception\LocalizedException $e) { + } catch (LocalizedException $e) { $this->logger->critical($e); $result = [ 'error' => $this->escaper->escapeHtml($e->getMessage()), 'errorcode' => $this->escaper->escapeHtml($e->getCode()) ]; - /** @var \Magento\Framework\Controller\Result\Json $resultJson */ + /** @var ResultJson $resultJson */ $resultJson = $this->resultJsonFactory->create(); $resultJson->setStatusHeader( - \Laminas\Http\Response::STATUS_CODE_400, - \Laminas\Http\AbstractMessage::VERSION_11, + Response::STATUS_CODE_400, + AbstractMessage::VERSION_11, 'Bad Request' ); return $resultJson->setData($result); - } catch (\Exception $e) { + } catch (Exception $e) { $this->logger->critical($e); $result = [ 'error' => __('UI component could not be rendered because of system exception'), 'errorcode' => $this->escaper->escapeHtml($e->getCode()) ]; - /** @var \Magento\Framework\Controller\Result\Json $resultJson */ + /** @var ResultJson $resultJson */ $resultJson = $this->resultJsonFactory->create(); $resultJson->setStatusHeader( - \Laminas\Http\Response::STATUS_CODE_400, - \Laminas\Http\AbstractMessage::VERSION_11, + Response::STATUS_CODE_400, + AbstractMessage::VERSION_11, 'Bad Request' ); diff --git a/app/code/Magento/Ui/Controller/Adminhtml/Index/Render/Handle.php b/app/code/Magento/Ui/Controller/Adminhtml/Index/Render/Handle.php index 6ea14448c4aef..e5a1d25950c86 100644 --- a/app/code/Magento/Ui/Controller/Adminhtml/Index/Render/Handle.php +++ b/app/code/Magento/Ui/Controller/Adminhtml/Index/Render/Handle.php @@ -21,11 +21,6 @@ */ class Handle extends AbstractAction implements HttpGetActionInterface { - /** - * @var ContextFactory - */ - private $contextFactory; - /** * @param Context $context * @param UiComponentFactory $factory @@ -34,7 +29,7 @@ class Handle extends AbstractAction implements HttpGetActionInterface public function __construct( Context $context, UiComponentFactory $factory, - ContextFactory $contextFactory = null + private ?ContextFactory $contextFactory = null ) { parent::__construct($context, $factory); $this->contextFactory = $contextFactory diff --git a/app/code/Magento/Ui/Controller/Index/Render.php b/app/code/Magento/Ui/Controller/Index/Render.php index 3ec58784ef53b..c049f9c789624 100644 --- a/app/code/Magento/Ui/Controller/Index/Render.php +++ b/app/code/Magento/Ui/Controller/Index/Render.php @@ -5,8 +5,14 @@ */ namespace Magento\Ui\Controller\Index; +use Exception; +use Laminas\Http\AbstractMessage; +use Laminas\Http\Response; use Magento\Backend\App\Action\Context; +use Magento\Framework\App\Action\Action; use Magento\Framework\App\ObjectManager; +use Magento\Framework\Controller\Result\Json as ResultJson; +use Magento\Framework\Exception\LocalizedException; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Framework\View\Element\UiComponentInterface; use Magento\Ui\Model\UiComponentTypeResolver; @@ -24,38 +30,8 @@ * @SuppressWarnings(PHPMD.AllPurposeAction) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ -class Render extends \Magento\Framework\App\Action\Action +class Render extends Action { - /** - * @var Context - */ - private $context; - - /** - * @var UiComponentFactory - */ - private $uiComponentFactory; - - /** - * @var UiComponentTypeResolver - */ - private $contentTypeResolver; - - /** - * @var JsonFactory - */ - private $resultJsonFactory; - - /** - * @var Escaper - */ - private $escaper; - - /** - * @var LoggerInterface - */ - private $logger; - /** * @var AuthorizationInterface */ @@ -71,16 +47,14 @@ class Render extends \Magento\Framework\App\Action\Action * @param LoggerInterface|null $logger */ public function __construct( - Context $context, - UiComponentFactory $uiComponentFactory, - ?UiComponentTypeResolver $contentTypeResolver = null, - JsonFactory $resultJsonFactory = null, - Escaper $escaper = null, - LoggerInterface $logger = null + private readonly Context $context, + private readonly UiComponentFactory $uiComponentFactory, + private ?UiComponentTypeResolver $contentTypeResolver = null, + private ?JsonFactory $resultJsonFactory = null, + private ?Escaper $escaper = null, + private ?LoggerInterface $logger = null ) { parent::__construct($context); - $this->context = $context; - $this->uiComponentFactory = $uiComponentFactory; $this->authorization = $context->getAuthorization(); $this->contentTypeResolver = $contentTypeResolver ?? ObjectManager::getInstance()->get(UiComponentTypeResolver::class); @@ -109,11 +83,11 @@ public function execute() $this->getResponse()->setHeader('Content-Type', $contentType, true); return $this->getResponse(); } else { - /** @var \Magento\Framework\Controller\Result\Json $resultJson */ + /** @var ResultJson $resultJson */ $resultJson = $this->resultJsonFactory->create(); $resultJson->setStatusHeader( - \Laminas\Http\Response::STATUS_CODE_403, - \Laminas\Http\AbstractMessage::VERSION_11, + Response::STATUS_CODE_403, + AbstractMessage::VERSION_11, 'Forbidden' ); return $resultJson->setData( @@ -123,32 +97,32 @@ public function execute() ] ); } - } catch (\Magento\Framework\Exception\LocalizedException $e) { + } catch (LocalizedException $e) { $this->logger->critical($e); $result = [ 'error' => $this->escaper->escapeHtml($e->getMessage()), 'errorcode' => $this->escaper->escapeHtml($e->getCode()) ]; - /** @var \Magento\Framework\Controller\Result\Json $resultJson */ + /** @var ResultJson $resultJson */ $resultJson = $this->resultJsonFactory->create(); $resultJson->setStatusHeader( - \Laminas\Http\Response::STATUS_CODE_400, - \Laminas\Http\AbstractMessage::VERSION_11, + Response::STATUS_CODE_400, + AbstractMessage::VERSION_11, 'Bad Request' ); return $resultJson->setData($result); - } catch (\Exception $e) { + } catch (Exception $e) { $this->logger->critical($e); $result = [ 'error' => __('UI component could not be rendered because of system exception'), 'errorcode' => $this->escaper->escapeHtml($e->getCode()) ]; - /** @var \Magento\Framework\Controller\Result\Json $resultJson */ + /** @var ResultJson $resultJson */ $resultJson = $this->resultJsonFactory->create(); $resultJson->setStatusHeader( - \Laminas\Http\Response::STATUS_CODE_400, - \Laminas\Http\AbstractMessage::VERSION_11, + Response::STATUS_CODE_400, + AbstractMessage::VERSION_11, 'Bad Request' ); diff --git a/app/code/Magento/Ui/DataProvider/AbstractDataProvider.php b/app/code/Magento/Ui/DataProvider/AbstractDataProvider.php index c8a483d26d80c..e5b3aca1d71cc 100644 --- a/app/code/Magento/Ui/DataProvider/AbstractDataProvider.php +++ b/app/code/Magento/Ui/DataProvider/AbstractDataProvider.php @@ -5,6 +5,8 @@ */ namespace Magento\Ui\DataProvider; +use Magento\Framework\Api\Filter; +use Magento\Framework\Api\Search\SearchResultInterface; use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection; use Magento\Framework\View\Element\UiComponent\DataProvider\DataProviderInterface; @@ -17,39 +19,6 @@ */ abstract class AbstractDataProvider implements DataProviderInterface, \Countable { - /** - * Data Provider name - * - * @var string - */ - protected $name; - - /** - * Data Provider Primary Identifier name - * - * @var string - */ - protected $primaryFieldName; - - /** - * Data Provider Request Parameter Identifier name - * - * @var string - */ - protected $requestFieldName; - - /** - * @var array - */ - protected $meta = []; - - /** - * Provider configuration data - * - * @var array - */ - protected $data = []; - /** * @var AbstractCollection */ @@ -63,17 +32,12 @@ abstract class AbstractDataProvider implements DataProviderInterface, \Countable * @param array $data */ public function __construct( - $name, - $primaryFieldName, - $requestFieldName, - array $meta = [], - array $data = [] + protected $name, + protected $primaryFieldName, + protected $requestFieldName, + protected array $meta = [], + protected array $data = [] ) { - $this->name = $name; - $this->primaryFieldName = $primaryFieldName; - $this->requestFieldName = $requestFieldName; - $this->meta = $meta; - $this->data = $data; } /** @@ -163,7 +127,7 @@ public function getFieldMetaInfo($fieldSetName, $fieldName) /** * @inheritdoc */ - public function addFilter(\Magento\Framework\Api\Filter $filter) + public function addFilter(Filter $filter) { // @phpstan-ignore-next-line as adding return statement cause of backward compatibility issue $this->getCollection()->addFieldToFilter( @@ -186,7 +150,7 @@ public function getSearchCriteria() /** * Returns SearchResult * - * @return \Magento\Framework\Api\Search\SearchResultInterface + * @return SearchResultInterface */ public function getSearchResult() { @@ -303,6 +267,6 @@ public function setConfigData($config) */ public function getAllIds() { - return $this->getCollection()->getAllIds(); + return $this->getCollection()->getAllIds(); } } diff --git a/app/code/Magento/Ui/DataProvider/Mapper/FormElement.php b/app/code/Magento/Ui/DataProvider/Mapper/FormElement.php index ea2a09f71a16b..04ac0267c5ea6 100644 --- a/app/code/Magento/Ui/DataProvider/Mapper/FormElement.php +++ b/app/code/Magento/Ui/DataProvider/Mapper/FormElement.php @@ -10,17 +10,12 @@ */ class FormElement implements MapperInterface { - /** - * @var array - */ - protected $mappings = []; - /** * @param array $mappings */ - public function __construct(array $mappings) - { - $this->mappings = $mappings; + public function __construct( + protected readonly array $mappings + ) { } /** diff --git a/app/code/Magento/Ui/DataProvider/Mapper/MetaProperties.php b/app/code/Magento/Ui/DataProvider/Mapper/MetaProperties.php index c4196c7ca5ceb..8dd6828035ebb 100644 --- a/app/code/Magento/Ui/DataProvider/Mapper/MetaProperties.php +++ b/app/code/Magento/Ui/DataProvider/Mapper/MetaProperties.php @@ -10,17 +10,12 @@ */ class MetaProperties implements MapperInterface { - /** - * @var array - */ - protected $mappings = []; - /** * @param array $mappings */ - public function __construct(array $mappings) - { - $this->mappings = $mappings; + public function __construct( + protected readonly array $mappings = [] + ) { } /** diff --git a/app/code/Magento/Ui/DataProvider/Modifier/ModifierFactory.php b/app/code/Magento/Ui/DataProvider/Modifier/ModifierFactory.php index 43faed72c0f5d..246fcfa9e5343 100644 --- a/app/code/Magento/Ui/DataProvider/Modifier/ModifierFactory.php +++ b/app/code/Magento/Ui/DataProvider/Modifier/ModifierFactory.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\DataProvider\Modifier; +use InvalidArgumentException; use Magento\Framework\ObjectManagerInterface; /** @@ -12,21 +13,14 @@ */ class ModifierFactory { - /** - * Object Manager - * - * @var ObjectManagerInterface - */ - protected $objectManager; - /** * Construct * * @param ObjectManagerInterface $objectManager */ - public function __construct(ObjectManagerInterface $objectManager) - { - $this->objectManager = $objectManager; + public function __construct( + protected readonly ObjectManagerInterface $objectManager + ) { } /** @@ -35,14 +29,14 @@ public function __construct(ObjectManagerInterface $objectManager) * @param string $className * @param array $data * @return ModifierInterface - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function create($className, array $data = []) { $model = $this->objectManager->create($className, $data); if (!$model instanceof ModifierInterface) { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( 'Type "' . $className . '" is not instance on ' . ModifierInterface::class ); } diff --git a/app/code/Magento/Ui/DataProvider/Modifier/Pool.php b/app/code/Magento/Ui/DataProvider/Modifier/Pool.php index 882f97d57e9fb..d5b69ca0250f5 100644 --- a/app/code/Magento/Ui/DataProvider/Modifier/Pool.php +++ b/app/code/Magento/Ui/DataProvider/Modifier/Pool.php @@ -11,32 +11,21 @@ /** * Class Pool */ -class Pool implements \Magento\Ui\DataProvider\Modifier\PoolInterface +class Pool implements PoolInterface { - /** - * @var array - */ - protected $modifiers = []; - /** * @var array */ protected $modifiersInstances = []; - /** - * @var ModifierFactory - */ - protected $factory; - /** * @param ModifierFactory $factory * @param array $modifiers */ public function __construct( - ModifierFactory $factory, - array $modifiers = [] + protected readonly ModifierFactory $factory, + protected array $modifiers = [] ) { - $this->factory = $factory; $this->modifiers = $this->sort($modifiers); } diff --git a/app/code/Magento/Ui/DataProvider/Modifier/PoolInterface.php b/app/code/Magento/Ui/DataProvider/Modifier/PoolInterface.php index 0da2c9f6f73a4..b48491cc12ef8 100644 --- a/app/code/Magento/Ui/DataProvider/Modifier/PoolInterface.php +++ b/app/code/Magento/Ui/DataProvider/Modifier/PoolInterface.php @@ -7,6 +7,8 @@ namespace Magento\Ui\DataProvider\Modifier; +use Magento\Framework\Exception\LocalizedException; + /** * Interface \Magento\Ui\DataProvider\Modifier\PoolInterface * @@ -25,7 +27,7 @@ public function getModifiers(); * Retrieve modifiers instantiated * * @return ModifierInterface[] - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ public function getModifiersInstances(); } diff --git a/app/code/Magento/Ui/DataProvider/ModifierPoolDataProvider.php b/app/code/Magento/Ui/DataProvider/ModifierPoolDataProvider.php index 4339c0e7f90d5..a9dc046a1ab40 100644 --- a/app/code/Magento/Ui/DataProvider/ModifierPoolDataProvider.php +++ b/app/code/Magento/Ui/DataProvider/ModifierPoolDataProvider.php @@ -12,11 +12,6 @@ class ModifierPoolDataProvider extends AbstractDataProvider { - /** - * @var PoolInterface - */ - private $pool; - /** * @param string $name * @param string $primaryFieldName @@ -31,7 +26,7 @@ public function __construct( $requestFieldName, array $meta = [], array $data = [], - PoolInterface $pool = null + private ?PoolInterface $pool = null ) { parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data); $this->pool = $pool ?: ObjectManager::getInstance()->get(PoolInterface::class); diff --git a/app/code/Magento/Ui/DataProvider/SearchResultFactory.php b/app/code/Magento/Ui/DataProvider/SearchResultFactory.php index 83d06c7cf5fc1..9c5b9257c63d3 100644 --- a/app/code/Magento/Ui/DataProvider/SearchResultFactory.php +++ b/app/code/Magento/Ui/DataProvider/SearchResultFactory.php @@ -21,26 +21,6 @@ */ class SearchResultFactory { - /** - * @var HydratorInterface - */ - private $hydrator; - - /** - * @var DocumentFactory - */ - private $documentFactory; - - /** - * @var BaseSearchResultFactory - */ - private $searchResultFactory; - - /** - * @var AttributeValueFactory - */ - private $attributeValueFactory; - /** * @param HydratorInterface $hydrator * @param DocumentFactory $documentFactory @@ -48,21 +28,17 @@ class SearchResultFactory * @param AttributeValueFactory $attributeValueFactory */ public function __construct( - HydratorInterface $hydrator, - DocumentFactory $documentFactory, - BaseSearchResultFactory $searchResultFactory, - AttributeValueFactory $attributeValueFactory + private readonly HydratorInterface $hydrator, + private readonly DocumentFactory $documentFactory, + private readonly BaseSearchResultFactory $searchResultFactory, + private readonly AttributeValueFactory $attributeValueFactory ) { - $this->hydrator = $hydrator; - $this->documentFactory = $documentFactory; - $this->searchResultFactory = $searchResultFactory; - $this->attributeValueFactory = $attributeValueFactory; } /** * @param array $items * @param int $totalCount - * @param SearchCriteriaInterface SearchCriteriaInterface $searchCriteria + * @param SearchCriteriaInterface|SearchCriteriaInterface $searchCriteria * @param string $idFieldName * @return SearchResultInterface * @since 101.1.0 diff --git a/app/code/Magento/Ui/Model/Bookmark.php b/app/code/Magento/Ui/Model/Bookmark.php index 2cb5666063067..50b6d2b461ca0 100644 --- a/app/code/Magento/Ui/Model/Bookmark.php +++ b/app/code/Magento/Ui/Model/Bookmark.php @@ -7,13 +7,17 @@ use Magento\Framework\Api\AttributeValueFactory; use Magento\Framework\Api\ExtensionAttributesFactory; +use Magento\Framework\App\ObjectManager; use Magento\Framework\Json\DecoderInterface; use Magento\Framework\Model\AbstractExtensibleModel; use Magento\Framework\Model\Context; use Magento\Framework\Registry; +use Magento\Framework\Serialize\Serializer\Json; +use Magento\Ui\Api\Data\BookmarkExtensionInterface; use Magento\Ui\Api\Data\BookmarkInterface; use Magento\Ui\Model\ResourceModel\Bookmark\Collection; use Magento\Ui\Model\ResourceModel\Bookmark as ResourceBookmark; +use RuntimeException; /** * Domain class Bookmark @@ -28,7 +32,7 @@ class Bookmark extends AbstractExtensibleModel implements BookmarkInterface protected $jsonDecoder; /** - * @var \Magento\Framework\Serialize\Serializer\Json + * @var Json */ private $serializer; @@ -41,8 +45,8 @@ class Bookmark extends AbstractExtensibleModel implements BookmarkInterface * @param Collection $resourceCollection * @param DecoderInterface $jsonDecoder * @param array $data - * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer - * @throws \RuntimeException + * @param Json|null $serializer + * @throws RuntimeException */ public function __construct( Context $context, @@ -53,11 +57,11 @@ public function __construct( Collection $resourceCollection, DecoderInterface $jsonDecoder, array $data = [], - \Magento\Framework\Serialize\Serializer\Json $serializer = null + Json $serializer = null ) { $this->jsonDecoder = $jsonDecoder; - $this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\Serialize\Serializer\Json::class); + $this->serializer = $serializer ?: ObjectManager::getInstance() + ->get(Json::class); parent::__construct( $context, $registry, @@ -265,7 +269,7 @@ public function setUpdatedAt($updatedAt) /** * {@inheritdoc} * - * @return \Magento\Ui\Api\Data\BookmarkExtensionInterface|null + * @return BookmarkExtensionInterface|null */ public function getExtensionAttributes() { @@ -275,10 +279,10 @@ public function getExtensionAttributes() /** * {@inheritdoc} * - * @param \Magento\Ui\Api\Data\BookmarkExtensionInterface $extensionAttributes + * @param BookmarkExtensionInterface $extensionAttributes * @return $this */ - public function setExtensionAttributes(\Magento\Ui\Api\Data\BookmarkExtensionInterface $extensionAttributes) + public function setExtensionAttributes(BookmarkExtensionInterface $extensionAttributes) { return $this->_setExtensionAttributes($extensionAttributes); } diff --git a/app/code/Magento/Ui/Model/BookmarkManagement.php b/app/code/Magento/Ui/Model/BookmarkManagement.php index 0659ce2ded7bc..adc66b941fa98 100644 --- a/app/code/Magento/Ui/Model/BookmarkManagement.php +++ b/app/code/Magento/Ui/Model/BookmarkManagement.php @@ -6,44 +6,26 @@ namespace Magento\Ui\Model; -class BookmarkManagement implements \Magento\Ui\Api\BookmarkManagementInterface -{ - /** - * @var \Magento\Ui\Api\BookmarkRepositoryInterface - */ - protected $bookmarkRepository; - - /** - * @var \Magento\Framework\Api\SearchCriteriaBuilder - */ - protected $searchCriteriaBuilder; - - /** - * @var \Magento\Framework\Api\FilterBuilder - */ - protected $filterBuilder; - - /** - * @var \Magento\Authorization\Model\UserContextInterface - */ - protected $userContext; +use Magento\Authorization\Model\UserContextInterface; +use Magento\Framework\Api\FilterBuilder; +use Magento\Framework\Api\SearchCriteriaBuilder; +use Magento\Ui\Api\BookmarkManagementInterface; +use Magento\Ui\Api\BookmarkRepositoryInterface; +class BookmarkManagement implements BookmarkManagementInterface +{ /** - * @param \Magento\Ui\Api\BookmarkRepositoryInterface $bookmarkRepository - * @param \Magento\Framework\Api\FilterBuilder $filterBuilder - * @param \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder - * @param \Magento\Authorization\Model\UserContextInterface $userContext + * @param BookmarkRepositoryInterface $bookmarkRepository + * @param FilterBuilder $filterBuilder + * @param SearchCriteriaBuilder $searchCriteriaBuilder + * @param UserContextInterface $userContext */ public function __construct( - \Magento\Ui\Api\BookmarkRepositoryInterface $bookmarkRepository, - \Magento\Framework\Api\FilterBuilder $filterBuilder, - \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, - \Magento\Authorization\Model\UserContextInterface $userContext + protected readonly BookmarkRepositoryInterface $bookmarkRepository, + protected readonly FilterBuilder $filterBuilder, + protected readonly SearchCriteriaBuilder $searchCriteriaBuilder, + protected readonly UserContextInterface $userContext ) { - $this->bookmarkRepository = $bookmarkRepository; - $this->searchCriteriaBuilder = $searchCriteriaBuilder; - $this->filterBuilder = $filterBuilder; - $this->userContext = $userContext; } /** diff --git a/app/code/Magento/Ui/Model/ColorPicker/ColorModesProvider.php b/app/code/Magento/Ui/Model/ColorPicker/ColorModesProvider.php index 768cc39cdb45e..5eff6f1886049 100644 --- a/app/code/Magento/Ui/Model/ColorPicker/ColorModesProvider.php +++ b/app/code/Magento/Ui/Model/ColorPicker/ColorModesProvider.php @@ -8,6 +8,8 @@ namespace Magento\Ui\Model\ColorPicker; +use Magento\Framework\ObjectManagerInterface; + /** * Collect all modes by configuration */ @@ -20,23 +22,15 @@ class ColorModesProvider */ private $colorModes; - /** - * Magento object manager - * - * @var \Magento\Framework\ObjectManagerInterface - */ - private $objectManager; - /** * @param array $colorModesPool - * @param \Magento\Framework\ObjectManagerInterface $objectManager + * @param ObjectManagerInterface $objectManager */ public function __construct( array $colorModesPool, - \Magento\Framework\ObjectManagerInterface $objectManager + private readonly ObjectManagerInterface $objectManager ) { $this->colorModes = $colorModesPool; - $this->objectManager = $objectManager; } /** diff --git a/app/code/Magento/Ui/Model/Config.php b/app/code/Magento/Ui/Model/Config.php index 42762844a88e4..bfaedce02edde 100644 --- a/app/code/Magento/Ui/Model/Config.php +++ b/app/code/Magento/Ui/Model/Config.php @@ -25,17 +25,12 @@ class Config */ const XML_PATH_KEY = 'dev/js/session_storage_key'; - /** - * @var ScopeConfigInterface - */ - protected $scopeConfig; - /** * @param ScopeConfigInterface $scopeConfig */ - public function __construct(ScopeConfigInterface $scopeConfig) - { - $this->scopeConfig = $scopeConfig; + public function __construct( + protected readonly ScopeConfigInterface $scopeConfig + ) { } /** diff --git a/app/code/Magento/Ui/Model/Export/ConvertToCsv.php b/app/code/Magento/Ui/Model/Export/ConvertToCsv.php index f745a85895a3f..c8cadc1c85ff6 100644 --- a/app/code/Magento/Ui/Model/Export/ConvertToCsv.php +++ b/app/code/Magento/Ui/Model/Export/ConvertToCsv.php @@ -18,21 +18,6 @@ class ConvertToCsv */ protected $directory; - /** - * @var MetadataProvider - */ - protected $metadataProvider; - - /** - * @var int|null - */ - protected $pageSize = null; - - /** - * @var Filter - */ - protected $filter; - /** * @param Filesystem $filesystem * @param Filter $filter @@ -42,14 +27,11 @@ class ConvertToCsv */ public function __construct( Filesystem $filesystem, - Filter $filter, - MetadataProvider $metadataProvider, - $pageSize = 200 + protected readonly Filter $filter, + protected readonly MetadataProvider $metadataProvider, + protected $pageSize = 200 ) { - $this->filter = $filter; $this->directory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR); - $this->metadataProvider = $metadataProvider; - $this->pageSize = $pageSize; } /** diff --git a/app/code/Magento/Ui/Model/Export/ConvertToXml.php b/app/code/Magento/Ui/Model/Export/ConvertToXml.php index 224feabcab2c9..e00550095de03 100644 --- a/app/code/Magento/Ui/Model/Export/ConvertToXml.php +++ b/app/code/Magento/Ui/Model/Export/ConvertToXml.php @@ -25,36 +25,16 @@ class ConvertToXml */ protected $directory; - /** - * @var MetadataProvider - */ - protected $metadataProvider; - - /** - * @var ExcelFactory - */ - protected $excelFactory; - /** * @var array */ protected $options; - /** - * @var SearchResultIteratorFactory - */ - protected $iteratorFactory; - /** * @var array */ protected $fields; - /** - * @var Filter - */ - protected $filter; - /** * @param Filesystem $filesystem * @param Filter $filter @@ -65,16 +45,12 @@ class ConvertToXml */ public function __construct( Filesystem $filesystem, - Filter $filter, - MetadataProvider $metadataProvider, - ExcelFactory $excelFactory, - SearchResultIteratorFactory $iteratorFactory + protected readonly Filter $filter, + protected readonly MetadataProvider $metadataProvider, + protected readonly ExcelFactory $excelFactory, + protected readonly SearchResultIteratorFactory $iteratorFactory ) { - $this->filter = $filter; $this->directory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR); - $this->metadataProvider = $metadataProvider; - $this->excelFactory = $excelFactory; - $this->iteratorFactory = $iteratorFactory; } /** diff --git a/app/code/Magento/Ui/Model/Export/MetadataProvider.php b/app/code/Magento/Ui/Model/Export/MetadataProvider.php index 59f3af18de451..f647befd45bee 100755 --- a/app/code/Magento/Ui/Model/Export/MetadataProvider.php +++ b/app/code/Magento/Ui/Model/Export/MetadataProvider.php @@ -29,36 +29,16 @@ */ class MetadataProvider { - /** - * @var Filter - */ - protected $filter; - /** * @var array */ protected $columns; - /** - * @var TimezoneInterface - */ - protected $localeDate; - /** * @var string */ protected $locale; - /** - * @var string - */ - protected $dateFormat; - - /** - * @var array - */ - protected $data; - /** * @param Filter $filter * @param TimezoneInterface $localeDate @@ -67,17 +47,13 @@ class MetadataProvider * @param array $data */ public function __construct( - Filter $filter, - TimezoneInterface $localeDate, + protected readonly Filter $filter, + protected readonly TimezoneInterface $localeDate, ResolverInterface $localeResolver, - $dateFormat = 'M j, Y h:i:s A', - array $data = [] + protected $dateFormat = 'M j, Y h:i:s A', + protected readonly array $data = [] ) { - $this->filter = $filter; - $this->localeDate = $localeDate; $this->locale = $localeResolver->getLocale(); - $this->dateFormat = $dateFormat; - $this->data = $data; } /** diff --git a/app/code/Magento/Ui/Model/Export/SearchResultIterator.php b/app/code/Magento/Ui/Model/Export/SearchResultIterator.php index da0004f405ca5..d8e793c6753a8 100644 --- a/app/code/Magento/Ui/Model/Export/SearchResultIterator.php +++ b/app/code/Magento/Ui/Model/Export/SearchResultIterator.php @@ -5,20 +5,16 @@ */ namespace Magento\Ui\Model\Export; -class SearchResultIterator implements \Iterator -{ - /** - * @var array - */ - protected $items; +use Iterator; +class SearchResultIterator implements Iterator +{ /** * @param array $items */ public function __construct( - array $items + protected readonly array $items ) { - $this->items = $items; } /** diff --git a/app/code/Magento/Ui/Model/Manager.php b/app/code/Magento/Ui/Model/Manager.php index ce9e4e51ea7fe..eb4176a9b55c0 100644 --- a/app/code/Magento/Ui/Model/Manager.php +++ b/app/code/Magento/Ui/Model/Manager.php @@ -11,6 +11,7 @@ use Magento\Framework\Config\CacheInterface; use Magento\Framework\Data\Argument\InterpreterInterface; use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\Phrase; use Magento\Framework\Serialize\SerializerInterface; use Magento\Framework\View\Element\UiComponent\ArrayObjectFactory; use Magento\Framework\View\Element\UiComponent\Config\Converter; @@ -34,34 +35,6 @@ class Manager implements ManagerInterface */ const CACHE_ID = 'ui_component_configuration_data'; - /** - * Configuration provider for UI component - * - * @var ComponentDefinition - */ - protected $componentConfigProvider; - - /** - * Argument interpreter - * - * @var InterpreterInterface - */ - protected $argumentInterpreter; - - /** - * DOM document merger - * - * @var DomMergerInterface - */ - protected $domMerger; - - /** - * Factory for UI config reader - * - * @var ReaderFactory - */ - protected $readerFactory; - /** * Component data * @@ -76,33 +49,11 @@ class Manager implements ManagerInterface */ protected $componentsPool; - /** - * Factory for ArrayObject - * - * @var ArrayObjectFactory - */ - protected $arrayObjectFactory; - - /** - * @var AggregatedFileCollectorFactory - */ - protected $aggregatedFileCollectorFactory; - - /** - * @var CacheInterface - */ - protected $cache; - /** * @var UiReaderInterface[] */ protected $uiReader; - /** - * @var SerializerInterface - */ - private $serializer; - /** * @param ComponentDefinition $componentConfigProvider * @param DomMergerInterface $domMerger @@ -114,23 +65,16 @@ class Manager implements ManagerInterface * @param SerializerInterface|null $serializer */ public function __construct( - ComponentDefinition $componentConfigProvider, - DomMergerInterface $domMerger, - ReaderFactory $readerFactory, - ArrayObjectFactory $arrayObjectFactory, - AggregatedFileCollectorFactory $aggregatedFileCollectorFactory, - CacheInterface $cache, - InterpreterInterface $argumentInterpreter, - SerializerInterface $serializer = null + protected readonly ComponentDefinition $componentConfigProvider, + protected readonly DomMergerInterface $domMerger, + protected readonly ReaderFactory $readerFactory, + protected readonly ArrayObjectFactory $arrayObjectFactory, + protected readonly AggregatedFileCollectorFactory $aggregatedFileCollectorFactory, + protected readonly CacheInterface $cache, + protected readonly InterpreterInterface $argumentInterpreter, + private ?SerializerInterface $serializer = null ) { - $this->componentConfigProvider = $componentConfigProvider; - $this->domMerger = $domMerger; - $this->readerFactory = $readerFactory; - $this->arrayObjectFactory = $arrayObjectFactory; $this->componentsData = $this->arrayObjectFactory->create(); - $this->aggregatedFileCollectorFactory = $aggregatedFileCollectorFactory; - $this->cache = $cache; - $this->argumentInterpreter = $argumentInterpreter; $this->serializer = $serializer ?: ObjectManager::getInstance()->get(SerializerInterface::class); } @@ -161,13 +105,13 @@ protected function hasData($name) * * @param string $name * @return ManagerInterface - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ public function prepareData($name) { if ($name === null || $this->hasData($name)) { throw new LocalizedException( - new \Magento\Framework\Phrase( + new Phrase( 'The "%1" UI component element name is invalid. Verify the name and try again.', [$name] ) diff --git a/app/code/Magento/Ui/Model/ResourceModel/Bookmark.php b/app/code/Magento/Ui/Model/ResourceModel/Bookmark.php index 6161ff1a6ec62..c3116bb3e3a65 100644 --- a/app/code/Magento/Ui/Model/ResourceModel/Bookmark.php +++ b/app/code/Magento/Ui/Model/ResourceModel/Bookmark.php @@ -6,6 +6,7 @@ namespace Magento\Ui\Model\ResourceModel; use Magento\Framework\Model\ResourceModel\Db\AbstractDb; +use Magento\Framework\Model\ResourceModel\Db\Context; /** * Bookmark resource @@ -13,11 +14,11 @@ class Bookmark extends AbstractDb { /** - * @param \Magento\Framework\Model\ResourceModel\Db\Context $context + * @param Context $context * @param string $connectionName */ public function __construct( - \Magento\Framework\Model\ResourceModel\Db\Context $context, + Context $context, $connectionName = null ) { parent::__construct($context, $connectionName); diff --git a/app/code/Magento/Ui/Model/ResourceModel/Bookmark/Collection.php b/app/code/Magento/Ui/Model/ResourceModel/Bookmark/Collection.php index 89decc1271368..9566b54a85c7e 100644 --- a/app/code/Magento/Ui/Model/ResourceModel/Bookmark/Collection.php +++ b/app/code/Magento/Ui/Model/ResourceModel/Bookmark/Collection.php @@ -6,6 +6,8 @@ namespace Magento\Ui\Model\ResourceModel\Bookmark; use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection; +use Magento\Ui\Model\Bookmark as ModelBookmark; +use Magento\Ui\Model\ResourceModel\Bookmark as ResourceBookmark; /** * Bookmark Collection @@ -19,6 +21,6 @@ class Collection extends AbstractCollection */ protected function _construct() { - $this->_init(\Magento\Ui\Model\Bookmark::class, \Magento\Ui\Model\ResourceModel\Bookmark::class); + $this->_init(ModelBookmark::class, ResourceBookmark::class); } } diff --git a/app/code/Magento/Ui/Model/ResourceModel/BookmarkRepository.php b/app/code/Magento/Ui/Model/ResourceModel/BookmarkRepository.php index f773daaaf50c4..9322291437a05 100644 --- a/app/code/Magento/Ui/Model/ResourceModel/BookmarkRepository.php +++ b/app/code/Magento/Ui/Model/ResourceModel/BookmarkRepository.php @@ -6,12 +6,19 @@ namespace Magento\Ui\Model\ResourceModel; +use Exception; use Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface; use Magento\Framework\Api\SearchCriteriaInterface; +use Magento\Framework\Api\SearchResultsInterface; use Magento\Framework\Api\SortOrder; +use Magento\Framework\App\ObjectManager; +use Magento\Framework\Exception\InputException; +use Magento\Framework\Exception\LocalizedException; use Magento\Ui\Api\BookmarkRepositoryInterface; use Magento\Framework\Api\Search\FilterGroup; use Magento\Ui\Api\Data\BookmarkInterface; +use Magento\Ui\Api\Data\BookmarkInterfaceFactory; +use Magento\Ui\Api\Data\BookmarkSearchResultsInterfaceFactory; use Magento\Ui\Model\ResourceModel\Bookmark\Collection; use Magento\Framework\Exception\CouldNotDeleteException; use Magento\Framework\Exception\CouldNotSaveException; @@ -25,41 +32,17 @@ class BookmarkRepository implements BookmarkRepositoryInterface { /** - * @var \Magento\Ui\Api\Data\BookmarkInterfaceFactory - */ - protected $bookmarkFactory; - - /** - * @var \Magento\Ui\Model\ResourceModel\Bookmark - */ - protected $bookmarkResourceModel; - - /** - * @var \Magento\Ui\Api\Data\BookmarkSearchResultsInterfaceFactory - */ - protected $searchResultsFactory; - - /** - * @var CollectionProcessorInterface - */ - private $collectionProcessor; - - /** - * @param \Magento\Ui\Api\Data\BookmarkInterfaceFactory $bookmarkFactory + * @param BookmarkInterfaceFactory $bookmarkFactory * @param Bookmark $bookmarkResourceModel - * @param \Magento\Ui\Api\Data\BookmarkSearchResultsInterfaceFactory $searchResultsFactory + * @param BookmarkSearchResultsInterfaceFactory $searchResultsFactory * @param CollectionProcessorInterface | null $collectionProcessor */ public function __construct( - \Magento\Ui\Api\Data\BookmarkInterfaceFactory $bookmarkFactory, - \Magento\Ui\Model\ResourceModel\Bookmark $bookmarkResourceModel, - \Magento\Ui\Api\Data\BookmarkSearchResultsInterfaceFactory $searchResultsFactory, - CollectionProcessorInterface $collectionProcessor = null + protected readonly BookmarkInterfaceFactory $bookmarkFactory, + protected readonly Bookmark $bookmarkResourceModel, + protected readonly BookmarkSearchResultsInterfaceFactory $searchResultsFactory, + private ?CollectionProcessorInterface $collectionProcessor = null ) { - - $this->bookmarkResourceModel = $bookmarkResourceModel; - $this->bookmarkFactory = $bookmarkFactory; - $this->searchResultsFactory = $searchResultsFactory; $this->collectionProcessor = $collectionProcessor ?: $this->getCollectionProcessor(); } @@ -74,7 +57,7 @@ public function save(BookmarkInterface $bookmark) { try { $this->bookmarkResourceModel->save($bookmark); - } catch (\Exception $exception) { + } catch (Exception $exception) { throw new CouldNotSaveException(__($exception->getMessage())); } return $bookmark; @@ -103,15 +86,15 @@ public function getById($bookmarkId) * Retrieve bookmarks matching the specified criteria. * * @param SearchCriteriaInterface $searchCriteria - * @return \Magento\Framework\Api\SearchResultsInterface - * @throws \Magento\Framework\Exception\LocalizedException + * @return SearchResultsInterface + * @throws LocalizedException */ public function getList(SearchCriteriaInterface $searchCriteria) { $searchResults = $this->searchResultsFactory->create(); $searchResults->setSearchCriteria($searchCriteria); - /** @var \Magento\Ui\Model\ResourceModel\Bookmark\Collection $collection */ + /** @var Collection $collection */ $collection = $this->bookmarkFactory->create()->getCollection(); $this->collectionProcessor->process($searchCriteria, $collection); $searchResults->setTotalCount($collection->getSize()); @@ -137,7 +120,7 @@ public function delete(BookmarkInterface $bookmark) { try { $this->bookmarkResourceModel->delete($bookmark); - } catch (\Exception $exception) { + } catch (Exception $exception) { throw new CouldNotDeleteException(__($exception->getMessage())); } return true; @@ -163,7 +146,7 @@ public function deleteById($bookmarkId) * @param Collection $collection * @return void * @deprecated 101.0.0 - * @throws \Magento\Framework\Exception\InputException + * @throws InputException */ protected function addFilterGroupToCollection(FilterGroup $filterGroup, Collection $collection) { @@ -182,7 +165,7 @@ protected function addFilterGroupToCollection(FilterGroup $filterGroup, Collecti private function getCollectionProcessor() { if (!$this->collectionProcessor) { - $this->collectionProcessor = \Magento\Framework\App\ObjectManager::getInstance()->get( + $this->collectionProcessor = ObjectManager::getInstance()->get( CollectionProcessorInterface::class ); } diff --git a/app/code/Magento/Ui/Model/UiComponentGenerator.php b/app/code/Magento/Ui/Model/UiComponentGenerator.php index ce51c4241e86d..163be31e4f75c 100644 --- a/app/code/Magento/Ui/Model/UiComponentGenerator.php +++ b/app/code/Magento/Ui/Model/UiComponentGenerator.php @@ -5,9 +5,11 @@ */ namespace Magento\Ui\Model; +use Magento\Framework\Exception\LocalizedException; use Magento\Framework\View\Element\UiComponent\ContextFactory; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Framework\View\Element\UiComponentInterface; +use Magento\Framework\View\LayoutInterface; /** * Dynamically generate UI Component @@ -18,38 +20,26 @@ */ class UiComponentGenerator { - /** - * @var ContextFactory - */ - private $contextFactory; - - /** - * @var UiComponentFactory - */ - private $uiComponentFactory; - /** * UiComponentGenerator constructor. * @param ContextFactory $contextFactory * @param UiComponentFactory $uiComponentFactory */ public function __construct( - ContextFactory $contextFactory, - UiComponentFactory $uiComponentFactory + private readonly ContextFactory $contextFactory, + private readonly UiComponentFactory $uiComponentFactory ) { - $this->contextFactory = $contextFactory; - $this->uiComponentFactory = $uiComponentFactory; } /** * Allows to generate Ui component * * @param string $name - * @param \Magento\Framework\View\LayoutInterface $layout + * @param LayoutInterface $layout * @return UiComponentInterface - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ - public function generateUiComponent($name, \Magento\Framework\View\LayoutInterface $layout) + public function generateUiComponent($name, LayoutInterface $layout) { $context = $this->contextFactory->create([ 'namespace' => $name, diff --git a/app/code/Magento/Ui/Model/UiComponentTypeResolver.php b/app/code/Magento/Ui/Model/UiComponentTypeResolver.php index da5eb1e80ed09..5e98fce2096fb 100644 --- a/app/code/Magento/Ui/Model/UiComponentTypeResolver.php +++ b/app/code/Magento/Ui/Model/UiComponentTypeResolver.php @@ -21,17 +21,12 @@ class UiComponentTypeResolver */ const DEFAULT_CONTENT_TYPE = 'text/html'; - /** - * @var array - */ - private $uiComponentTypeMap = []; - /** * @param array $uiComponentTypeMap */ - public function __construct(array $uiComponentTypeMap) - { - $this->uiComponentTypeMap = $uiComponentTypeMap; + public function __construct( + private readonly array $uiComponentTypeMap = [] + ) { } /** diff --git a/app/code/Magento/Ui/Model/UrlInput/LinksConfigProvider.php b/app/code/Magento/Ui/Model/UrlInput/LinksConfigProvider.php index 9a565a5bc7a8a..46d1601d4a077 100644 --- a/app/code/Magento/Ui/Model/UrlInput/LinksConfigProvider.php +++ b/app/code/Magento/Ui/Model/UrlInput/LinksConfigProvider.php @@ -8,34 +8,22 @@ namespace Magento\Ui\Model\UrlInput; +use Magento\Framework\ObjectManagerInterface; + /** * Returns information about allowed links */ class LinksConfigProvider implements ConfigInterface { - /** - * @var array - */ - private $linksConfiguration; - - /** - * Object manager - * - * @var \Magento\Framework\ObjectManagerInterface - */ - private $objectManager; - /** * LinksProvider constructor. * @param array $linksConfiguration - * @param \Magento\Framework\ObjectManagerInterface $objectManager + * @param ObjectManagerInterface $objectManager */ public function __construct( - array $linksConfiguration, - \Magento\Framework\ObjectManagerInterface $objectManager + private readonly array $linksConfiguration, + private readonly ObjectManagerInterface $objectManager ) { - $this->linksConfiguration = $linksConfiguration; - $this->objectManager = $objectManager; } /** diff --git a/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Content.php b/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Content.php index 6c83b04dbb19b..81e27d731295d 100644 --- a/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Content.php +++ b/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Content.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\TemplateEngine\Xhtml\Compiler\Element; +use DOMElement; use Magento\Framework\DataObject; use Magento\Framework\View\Element\UiComponentInterface; use Magento\Framework\View\TemplateEngine\Xhtml\CompilerInterface; @@ -19,14 +20,14 @@ class Content implements ElementInterface * Compiles the Element node * * @param CompilerInterface $compiler - * @param \DOMElement $node + * @param DOMElement $node * @param DataObject $processedObject * @param DataObject $context * @return void */ public function compile( CompilerInterface $compiler, - \DOMElement $node, + DOMElement $node, DataObject $processedObject, DataObject $context ) { diff --git a/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Form.php b/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Form.php index d5387f15c7c0d..319c04a996916 100644 --- a/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Form.php +++ b/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Form.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\TemplateEngine\Xhtml\Compiler\Element; +use DOMElement; use Magento\Framework\DataObject; use Magento\Framework\View\TemplateEngine\Xhtml\CompilerInterface; use Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Element\ElementInterface; @@ -18,14 +19,14 @@ class Form implements ElementInterface * Compiles the Element node * * @param CompilerInterface $compiler - * @param \DOMElement $node + * @param DOMElement $node * @param DataObject $processedObject * @param DataObject $context * @return void */ public function compile( CompilerInterface $compiler, - \DOMElement $node, + DOMElement $node, DataObject $processedObject, DataObject $context ) { @@ -37,10 +38,10 @@ public function compile( /** * Get child nodes * - * @param \DOMElement $node - * @return \DOMElement[] + * @param DOMElement $node + * @return DOMElement[] */ - protected function getChildNodes(\DOMElement $node) + protected function getChildNodes(DOMElement $node) { $childNodes = []; foreach ($node->childNodes as $child) { diff --git a/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Render.php b/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Render.php index 5524fe82ca56f..4e639e303b58a 100644 --- a/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Render.php +++ b/app/code/Magento/Ui/TemplateEngine/Xhtml/Compiler/Element/Render.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\TemplateEngine\Xhtml\Compiler\Element; +use DOMElement; use Magento\Framework\DataObject; use Magento\Framework\View\Element\UiComponentInterface; use Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Element\ElementInterface; @@ -20,7 +21,7 @@ class Render implements ElementInterface * Compiles the Element node * * @param CompilerInterface $compiler - * @param \DOMElement $node + * @param DOMElement $node * @param DataObject $processedObject * @param DataObject $context * @return void @@ -29,7 +30,7 @@ class Render implements ElementInterface */ public function compile( CompilerInterface $compiler, - \DOMElement $node, + DOMElement $node, DataObject $processedObject, DataObject $context ) { diff --git a/app/code/Magento/Ui/TemplateEngine/Xhtml/Result.php b/app/code/Magento/Ui/TemplateEngine/Xhtml/Result.php index d15f94bd6f2dd..901a177f0e7f1 100644 --- a/app/code/Magento/Ui/TemplateEngine/Xhtml/Result.php +++ b/app/code/Magento/Ui/TemplateEngine/Xhtml/Result.php @@ -5,6 +5,7 @@ */ namespace Magento\Ui\TemplateEngine\Xhtml; +use DOMElement; use Magento\Framework\App\State; use Magento\Framework\Serialize\Serializer\JsonHexTag; use Magento\Framework\View\Element\UiComponentInterface; @@ -13,47 +14,13 @@ use Magento\Framework\View\TemplateEngine\Xhtml\ResultInterface; use Magento\Framework\View\TemplateEngine\Xhtml\Template; use Psr\Log\LoggerInterface; +use Throwable; /** * Convert DOMElement to string representation */ class Result implements ResultInterface { - /** - * @var Template - */ - protected $template; - - /** - * @var CompilerInterface - */ - protected $compiler; - - /** - * @var UiComponentInterface - */ - protected $component; - - /** - * @var Structure - */ - protected $structure; - - /** - * @var LoggerInterface - */ - protected $logger; - - /** - * @var JsonHexTag - */ - private $jsonSerializer; - - /** - * @var State - */ - private $state; - /** * @param Template $template * @param CompilerInterface $compiler @@ -64,27 +31,20 @@ class Result implements ResultInterface * @param State $state */ public function __construct( - Template $template, - CompilerInterface $compiler, - UiComponentInterface $component, - Structure $structure, - LoggerInterface $logger, - JsonHexTag $jsonSerializer, - State $state + protected readonly Template $template, + protected readonly CompilerInterface $compiler, + protected readonly UiComponentInterface $component, + protected readonly Structure $structure, + protected readonly LoggerInterface $logger, + private readonly JsonHexTag $jsonSerializer, + private readonly State $state ) { - $this->template = $template; - $this->compiler = $compiler; - $this->component = $component; - $this->structure = $structure; - $this->logger = $logger; - $this->jsonSerializer = $jsonSerializer; - $this->state = $state; } /** * Get result document root element \DOMElement * - * @return \DOMElement + * @return DOMElement */ public function getDocumentElement() { @@ -123,7 +83,7 @@ public function __toString() $this->compiler->compile($templateRootElement, $this->component, $this->component); $this->appendLayoutConfiguration(); $result = $this->compiler->postprocessing($this->template->__toString()); - } catch (\Throwable $e) { + } catch (Throwable $e) { $this->logger->critical($e); $result = $e->getMessage(); if ($this->state->getMode() === State::MODE_DEVELOPER) { diff --git a/app/code/Magento/Ui/registration.php b/app/code/Magento/Ui/registration.php index d6d80766703fe..d73deacdbc976 100644 --- a/app/code/Magento/Ui/registration.php +++ b/app/code/Magento/Ui/registration.php @@ -6,4 +6,8 @@ use Magento\Framework\Component\ComponentRegistrar; -ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Magento_Ui', __DIR__); +ComponentRegistrar::register( + ComponentRegistrar::MODULE, + 'Magento_Ui', + __DIR__ +);