From 702c5ff2b9dcecad2d8dad3c9682eca1951cbf55 Mon Sep 17 00:00:00 2001 From: Leon Helmus Date: Tue, 7 Mar 2023 16:26:51 +0100 Subject: [PATCH 1/2] Use constructor property promotion in module Variable Replace allmost all properties with constructor property promotion in module version: https://stitcher.io/blog/constructor-promotion-in-php-8 * Readable code * Make Magento less complex by removing properties which take up a lot of lines. * Imported all classes to make code more readable. I think the code would be a lot cleaner if all modules start using constructor promotions, since of 2.4.6 php 7.4 is dropped we can now make use of it. So let's start on it right now :). --- .../Variable/Block/System/Variable.php | 4 +- .../Variable/Block/System/Variable/Edit.php | 22 +++--- .../Block/System/Variable/Edit/Form.php | 12 ++-- .../Controller/Adminhtml/System/Variable.php | 68 +++++++------------ .../Adminhtml/System/Variable/Delete.php | 12 ++-- .../Adminhtml/System/Variable/Edit.php | 13 ++-- .../Adminhtml/System/Variable/Index.php | 6 +- .../Adminhtml/System/Variable/NewAction.php | 9 ++- .../Adminhtml/System/Variable/Save.php | 12 ++-- .../Adminhtml/System/Variable/Validate.php | 15 ++-- .../System/Variable/WysiwygPlugin.php | 15 ++-- .../Variable/Model/Config/Structure/Dom.php | 16 ++--- .../Variable/Model/ResourceModel/Variable.php | 26 ++++--- .../ResourceModel/Variable/Collection.php | 8 ++- .../Variable/Model/Source/Variables.php | 19 ++---- app/code/Magento/Variable/Model/Variable.php | 45 ++++++------ .../Variable/Model/Variable/Config.php | 55 +++++++-------- .../Model/Variable/ConfigProvider.php | 18 +++-- .../Magento/Variable/Model/Variable/Data.php | 30 +++----- .../Ui/Component/VariablesDataProvider.php | 16 ++--- app/code/Magento/Variable/registration.php | 6 +- 21 files changed, 214 insertions(+), 213 deletions(-) diff --git a/app/code/Magento/Variable/Block/System/Variable.php b/app/code/Magento/Variable/Block/System/Variable.php index 982b324aa05b1..3b65d4d55380a 100644 --- a/app/code/Magento/Variable/Block/System/Variable.php +++ b/app/code/Magento/Variable/Block/System/Variable.php @@ -5,13 +5,15 @@ */ namespace Magento\Variable\Block\System; +use Magento\Backend\Block\Widget\Grid\Container; + /** * Custom Variable Block * * @api * @since 100.0.2 */ -class Variable extends \Magento\Backend\Block\Widget\Grid\Container +class Variable extends Container { /** * Block constructor diff --git a/app/code/Magento/Variable/Block/System/Variable/Edit.php b/app/code/Magento/Variable/Block/System/Variable/Edit.php index ea119b88fa795..3919d90395d38 100644 --- a/app/code/Magento/Variable/Block/System/Variable/Edit.php +++ b/app/code/Magento/Variable/Block/System/Variable/Edit.php @@ -5,29 +5,35 @@ */ namespace Magento\Variable\Block\System\Variable; +use Magento\Backend\Block\Widget\Context; +use Magento\Backend\Block\Widget\Form\Container; +use Magento\Framework\Phrase; +use Magento\Framework\Registry; +use Magento\Variable\Model\Variable; + /** * Custom Variable Edit Container * * @api * @since 100.0.2 */ -class Edit extends \Magento\Backend\Block\Widget\Form\Container +class Edit extends Container { /** * Core registry * - * @var \Magento\Framework\Registry + * @var Registry */ protected $_coreRegistry = null; /** - * @param \Magento\Backend\Block\Widget\Context $context - * @param \Magento\Framework\Registry $registry + * @param Context $context + * @param Registry $registry * @param array $data */ public function __construct( - \Magento\Backend\Block\Widget\Context $context, - \Magento\Framework\Registry $registry, + Context $context, + Registry $registry, array $data = [] ) { $this->_coreRegistry = $registry; @@ -51,7 +57,7 @@ protected function _construct() /** * Getter * - * @return \Magento\Variable\Model\Variable + * @return Variable */ public function getVariable() { @@ -96,7 +102,7 @@ public function getFormHtml() /** * Return translated header text depending on creating/editing action * - * @return \Magento\Framework\Phrase + * @return Phrase */ public function getHeaderText() { diff --git a/app/code/Magento/Variable/Block/System/Variable/Edit/Form.php b/app/code/Magento/Variable/Block/System/Variable/Edit/Form.php index 20a6f021c18c8..1abd938399786 100644 --- a/app/code/Magento/Variable/Block/System/Variable/Edit/Form.php +++ b/app/code/Magento/Variable/Block/System/Variable/Edit/Form.php @@ -5,18 +5,22 @@ */ namespace Magento\Variable\Block\System\Variable\Edit; +use Magento\Backend\Block\Widget\Form\Generic; +use Magento\Framework\Data\Form as FormData; +use Magento\Variable\Model\Variable; + /** * Custom Variable Edit Form * * @api * @since 100.0.2 */ -class Form extends \Magento\Backend\Block\Widget\Form\Generic +class Form extends Generic { /** * Getter * - * @return \Magento\Variable\Model\Variable + * @return Variable */ public function getVariable() { @@ -26,11 +30,11 @@ public function getVariable() /** * Prepare form before rendering HTML * - * @return \Magento\Variable\Block\System\Variable\Edit\Form + * @return Form */ protected function _prepareForm() { - /** @var \Magento\Framework\Data\Form $form */ + /** @var FormData $form */ $form = $this->_formFactory->create( ['data' => ['id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post']] ); diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable.php index 2b3a3107a15b9..83e52f52f045a 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable.php @@ -6,6 +6,14 @@ namespace Magento\Variable\Controller\Adminhtml\System; use Magento\Backend\App\Action; +use Magento\Backend\App\Action\Context; +use Magento\Backend\Model\View\Result\ForwardFactory; +use Magento\Backend\Model\View\Result\Page; +use Magento\Framework\Controller\Result\JsonFactory; +use Magento\Framework\Registry; +use Magento\Framework\View\LayoutFactory; +use Magento\Framework\View\Result\PageFactory; +use Magento\Variable\Model\Variable as ModelVariable; /** * Custom Variables admin controller @@ -22,62 +30,38 @@ abstract class Variable extends Action /** * Core registry * - * @var \Magento\Framework\Registry + * @var Registry */ protected $_coreRegistry; /** - * @var \Magento\Backend\Model\View\Result\ForwardFactory - */ - protected $resultForwardFactory; - - /** - * @var \Magento\Framework\View\Result\PageFactory - */ - protected $resultPageFactory; - - /** - * @var \Magento\Framework\Controller\Result\JsonFactory - */ - protected $resultJsonFactory; - - /** - * @var \Magento\Framework\View\LayoutFactory - */ - protected $layoutFactory; - - /** - * @param \Magento\Backend\App\Action\Context $context - * @param \Magento\Framework\Registry $coreRegistry - * @param \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory - * @param \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory - * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory - * @param \Magento\Framework\View\LayoutFactory $layoutFactory + * @param Context $context + * @param Registry $coreRegistry + * @param ForwardFactory $resultForwardFactory + * @param JsonFactory $resultJsonFactory + * @param PageFactory $resultPageFactory + * @param LayoutFactory $layoutFactory */ public function __construct( - \Magento\Backend\App\Action\Context $context, - \Magento\Framework\Registry $coreRegistry, - \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory, - \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory, - \Magento\Framework\View\Result\PageFactory $resultPageFactory, - \Magento\Framework\View\LayoutFactory $layoutFactory + Context $context, + Registry $coreRegistry, + protected readonly ForwardFactory $resultForwardFactory, + protected readonly JsonFactory $resultJsonFactory, + protected readonly PageFactory $resultPageFactory, + protected readonly LayoutFactory $layoutFactory ) { $this->_coreRegistry = $coreRegistry; parent::__construct($context); - $this->resultForwardFactory = $resultForwardFactory; - $this->resultJsonFactory = $resultJsonFactory; - $this->resultPageFactory = $resultPageFactory; - $this->layoutFactory = $layoutFactory; } /** * Initialize Layout and set breadcrumbs * - * @return \Magento\Backend\Model\View\Result\Page + * @return Page */ protected function createPage() { - /** @var \Magento\Backend\Model\View\Result\Page $resultPage */ + /** @var Page $resultPage */ $resultPage = $this->resultPageFactory->create(); $resultPage->setActiveMenu('Magento_Variable::system_variable') ->addBreadcrumb(__('Custom Variables'), __('Custom Variables')); @@ -87,14 +71,14 @@ protected function createPage() /** * Initialize Variable object * - * @return \Magento\Variable\Model\Variable + * @return ModelVariable */ protected function _initVariable() { $variableId = $this->getRequest()->getParam('variable_id', null); $storeId = (int)$this->getRequest()->getParam('store', 0); - /* @var $variable \Magento\Variable\Model\Variable */ - $variable = $this->_objectManager->create(\Magento\Variable\Model\Variable::class); + /* @var $variable ModelVariable */ + $variable = $this->_objectManager->create(ModelVariable::class); if ($variableId) { $variable->setStoreId($storeId)->load($variableId); } diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Delete.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Delete.php index db8ee0fe7bf39..971606fda42ce 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Delete.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Delete.php @@ -6,23 +6,27 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; -class Delete extends \Magento\Variable\Controller\Adminhtml\System\Variable +use Exception; +use Magento\Backend\Model\View\Result\Redirect; +use Magento\Variable\Controller\Adminhtml\System\Variable; + +class Delete extends Variable { /** * Delete Action * - * @return \Magento\Backend\Model\View\Result\Redirect + * @return Redirect */ public function execute() { $variable = $this->_initVariable(); - /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ + /** @var Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); if ($variable->getId()) { try { $variable->delete(); $this->messageManager->addSuccess(__('You deleted the custom variable.')); - } catch (\Exception $e) { + } catch (Exception $e) { $this->messageManager->addError($e->getMessage()); return $resultRedirect->setPath('adminhtml/*/edit', ['_current' => true]); } diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Edit.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Edit.php index 4eab083d47063..8c35768704ad9 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Edit.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Edit.php @@ -6,18 +6,23 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Backend\Model\View\Result\Page; +use Magento\Framework\View\Element\Template; +use Magento\Variable\Block\System\Variable\Edit as SystemVariableEdit; +use Magento\Variable\Controller\Adminhtml\System\Variable; + /** * Display Variables edit form page * * @api * @since 100.0.2 */ -class Edit extends \Magento\Variable\Controller\Adminhtml\System\Variable +class Edit extends Variable { /** * Edit Action * - * @return \Magento\Backend\Model\View\Result\Page + * @return Page */ public function execute() { @@ -29,10 +34,10 @@ public function execute() $variable->getId() ? $variable->getCode() : __('New Custom Variable') ); $resultPage->addContent($resultPage->getLayout()->createBlock( - \Magento\Variable\Block\System\Variable\Edit::class + SystemVariableEdit::class ))->addJs( $resultPage->getLayout()->createBlock( - \Magento\Framework\View\Element\Template::class, + Template::class, '', ['data' => ['template' => 'Magento_Variable::system/variable/js.phtml']] ) diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Index.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Index.php index 71cb76a67d15d..3019f65ca7d05 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Index.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Index.php @@ -6,19 +6,21 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Backend\Model\View\Result\Page; use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface; +use Magento\Variable\Controller\Adminhtml\System\Variable; /** * Display Variables list page * @api * @since 100.0.2 */ -class Index extends \Magento\Variable\Controller\Adminhtml\System\Variable implements HttpGetActionInterface +class Index extends Variable implements HttpGetActionInterface { /** * Index Action * - * @return \Magento\Backend\Model\View\Result\Page + * @return Page */ public function execute() { diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/NewAction.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/NewAction.php index 0c9dee41b58c5..fa793dddf0385 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/NewAction.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/NewAction.php @@ -6,22 +6,25 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Backend\Model\View\Result\Forward; +use Magento\Variable\Controller\Adminhtml\System\Variable; + /** * Create new variable form * * @api * @since 100.0.2 */ -class NewAction extends \Magento\Variable\Controller\Adminhtml\System\Variable +class NewAction extends Variable { /** * New Action (forward to edit action) * - * @return \Magento\Backend\Model\View\Result\Forward + * @return Forward */ public function execute() { - /** @var \Magento\Backend\Model\View\Result\Forward $resultForward */ + /** @var Forward $resultForward */ $resultForward = $this->resultForwardFactory->create(); return $resultForward->forward('edit'); } diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Save.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Save.php index 24ad46af27dec..4f7bdb6b0f5a7 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Save.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Save.php @@ -6,25 +6,29 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; +use Exception; +use Magento\Backend\Model\View\Result\Redirect; +use Magento\Variable\Controller\Adminhtml\System\Variable; + /** * Save variable POST controller * * @api * @since 100.0.2 */ -class Save extends \Magento\Variable\Controller\Adminhtml\System\Variable +class Save extends Variable { /** * Save Action * - * @return \Magento\Backend\Model\View\Result\Redirect + * @return Redirect */ public function execute() { $variable = $this->_initVariable(); $data = $this->getRequest()->getPost('variable'); $back = $this->getRequest()->getParam('back', false); - /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ + /** @var Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); if ($data) { $data['variable_id'] = $variable->getId(); @@ -41,7 +45,7 @@ public function execute() $resultRedirect->setPath('adminhtml/*/'); } return $resultRedirect; - } catch (\Exception $e) { + } catch (Exception $e) { $this->messageManager->addError($e->getMessage()); return $resultRedirect->setPath('adminhtml/*/edit', ['_current' => true]); } diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Validate.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Validate.php index 914f82954ece5..8962e60498f43 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Validate.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Validate.php @@ -6,32 +6,37 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Framework\Controller\Result\Json; +use Magento\Framework\DataObject; +use Magento\Framework\Phrase; +use Magento\Variable\Controller\Adminhtml\System\Variable; + /** * Validate variable value before save controller * @api * @since 100.0.2 */ -class Validate extends \Magento\Variable\Controller\Adminhtml\System\Variable +class Validate extends Variable { /** * Validate Action * - * @return \Magento\Framework\Controller\Result\Json + * @return Json */ public function execute() { - $response = new \Magento\Framework\DataObject(['error' => false]); + $response = new DataObject(['error' => false]); $variable = $this->_initVariable(); $variable->addData($this->getRequest()->getPost('variable')); $result = $variable->validate(); - if ($result instanceof \Magento\Framework\Phrase) { + if ($result instanceof Phrase) { $this->messageManager->addError($result->getText()); $layout = $this->layoutFactory->create(); $layout->initMessages(); $response->setError(true); $response->setHtmlMessage($layout->getMessagesBlock()->getGroupedHtml()); } - /** @var \Magento\Framework\Controller\Result\Json $resultJson */ + /** @var Json $resultJson */ $resultJson = $this->resultJsonFactory->create(); return $resultJson->setData($response->toArray()); } diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/WysiwygPlugin.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/WysiwygPlugin.php index c3272d76e41c0..4205ad3f259ce 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/WysiwygPlugin.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/WysiwygPlugin.php @@ -6,29 +6,34 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Framework\Controller\Result\Json; +use Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Variable\Model\Source\Variables; +use Magento\Variable\Model\Variable as ModelVariable; + /** * Retrieve variables list for WYSIWYG * * @api * @since 100.0.2 */ -class WysiwygPlugin extends \Magento\Variable\Controller\Adminhtml\System\Variable +class WysiwygPlugin extends Variable { /** * WYSIWYG Plugin Action * - * @return \Magento\Framework\Controller\Result\Json + * @return Json */ public function execute() { - $customVariables = $this->_objectManager->create(\Magento\Variable\Model\Variable::class) + $customVariables = $this->_objectManager->create(ModelVariable::class) ->getVariablesOptionArray(true); $storeContactVariables = $this->_objectManager->create( - \Magento\Variable\Model\Source\Variables::class + Variables::class )->toOptionArray( true ); - /** @var \Magento\Framework\Controller\Result\Json $resultJson */ + /** @var Json $resultJson */ $resultJson = $this->resultJsonFactory->create(); return $resultJson->setData([$storeContactVariables, $customVariables]); } diff --git a/app/code/Magento/Variable/Model/Config/Structure/Dom.php b/app/code/Magento/Variable/Model/Config/Structure/Dom.php index 4103671ebc21c..750442c2a00f9 100644 --- a/app/code/Magento/Variable/Model/Config/Structure/Dom.php +++ b/app/code/Magento/Variable/Model/Config/Structure/Dom.php @@ -8,19 +8,16 @@ namespace Magento\Variable\Model\Config\Structure; +use DOMDocument; use Magento\Framework\App\ObjectManager; +use Magento\Framework\Config\Dom as ConfigDom; use Magento\Framework\Config\ValidationStateInterface; /** * Filter dom structure to required components only */ -class Dom extends \Magento\Framework\Config\Dom +class Dom extends ConfigDom { - /** - * @var AvailableVariables - */ - private $structureConfig; - /** * @var array */ @@ -42,10 +39,9 @@ public function __construct( $typeAttributeName = null, $schemaFile = null, $errorFormat = self::ERROR_FORMAT_DEFAULT, - AvailableVariables $availableVariables = null + private ?AvailableVariables $availableVariables = null ) { - $this->structureConfig = $availableVariables - ?: ObjectManager::getInstance()->get(AvailableVariables::class); + $this->structureConfig = $availableVariables ?: ObjectManager::getInstance()->get(AvailableVariables::class); parent::__construct($xml, $validationState, $idAttributes, $typeAttributeName, $schemaFile, $errorFormat); } @@ -75,7 +71,7 @@ public function merge($xml) /** * Filter DOMDocument elements and keep only allowed * - * @param \DOMDocument $dom + * @param DOMDocument $dom * @param string $tag * @param array $ids */ diff --git a/app/code/Magento/Variable/Model/ResourceModel/Variable.php b/app/code/Magento/Variable/Model/ResourceModel/Variable.php index 4d1d4ceaa1798..6d403d25e2b84 100644 --- a/app/code/Magento/Variable/Model/ResourceModel/Variable.php +++ b/app/code/Magento/Variable/Model/ResourceModel/Variable.php @@ -6,12 +6,18 @@ namespace Magento\Variable\Model\ResourceModel; +use Magento\Framework\DB\Select; +use Magento\Framework\Model\AbstractModel; +use Magento\Framework\Model\ResourceModel\Db\AbstractDb; +use Magento\Store\Model\Store; +use Magento\Variable\Model\Variable as ModelVariable; + /** * Custom variable resource model * * @author Magento Core Team */ -class Variable extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb +class Variable extends AbstractDb { /** * Constructor @@ -26,11 +32,11 @@ protected function _construct() /** * Load variable by code * - * @param \Magento\Variable\Model\Variable $object + * @param ModelVariable $object * @param string $code * @return $this */ - public function loadByCode(\Magento\Variable\Model\Variable $object, $code) + public function loadByCode(ModelVariable $object, $code) { if ($result = $this->getVariableByCode($code, true, $object->getStoreId())) { $object->setData($result); @@ -63,10 +69,10 @@ public function getVariableByCode($code, $withValue = false, $storeId = 0) /** * Perform actions after object save * - * @param \Magento\Framework\Model\AbstractModel $object + * @param AbstractModel $object * @return $this */ - protected function _afterSave(\Magento\Framework\Model\AbstractModel $object) + protected function _afterSave(AbstractModel $object) { parent::_afterSave($object); if ($object->getUseDefaultValue()) { @@ -102,7 +108,7 @@ protected function _afterSave(\Magento\Framework\Model\AbstractModel $object) * * @param string $field * @param mixed $value - * @param \Magento\Framework\Model\AbstractModel $object + * @param AbstractModel $object * @return $this */ protected function _getLoadSelect($field, $value, $object) @@ -115,13 +121,13 @@ protected function _getLoadSelect($field, $value, $object) /** * Add variable store and default value to select * - * @param \Magento\Framework\DB\Select $select + * @param Select $select * @param integer $storeId - * @return \Magento\Variable\Model\ResourceModel\Variable + * @return Variable */ protected function _addValueToSelect( - \Magento\Framework\DB\Select $select, - $storeId = \Magento\Store\Model\Store::DEFAULT_STORE_ID + Select $select, + $storeId = Store::DEFAULT_STORE_ID ) { $connection = $this->getConnection(); $ifNullPlainValue = $connection->getCheckSql( diff --git a/app/code/Magento/Variable/Model/ResourceModel/Variable/Collection.php b/app/code/Magento/Variable/Model/ResourceModel/Variable/Collection.php index 64c541e8c70b9..4a206e1396c89 100644 --- a/app/code/Magento/Variable/Model/ResourceModel/Variable/Collection.php +++ b/app/code/Magento/Variable/Model/ResourceModel/Variable/Collection.php @@ -5,12 +5,16 @@ */ namespace Magento\Variable\Model\ResourceModel\Variable; +use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection; +use Magento\Variable\Model\ResourceModel\Variable as ResourceVariable; +use Magento\Variable\Model\Variable as ModelVariable; + /** * Custom variable collection * * @author Magento Core Team */ -class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection +class Collection extends AbstractCollection { /** * Store Id @@ -27,7 +31,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab protected function _construct() { parent::_construct(); - $this->_init(\Magento\Variable\Model\Variable::class, \Magento\Variable\Model\ResourceModel\Variable::class); + $this->_init(ModelVariable::class, ResourceVariable::class); } /** diff --git a/app/code/Magento/Variable/Model/Source/Variables.php b/app/code/Magento/Variable/Model/Source/Variables.php index 2ec6397a30761..04f76d0b2b7f9 100644 --- a/app/code/Magento/Variable/Model/Source/Variables.php +++ b/app/code/Magento/Variable/Model/Source/Variables.php @@ -6,12 +6,13 @@ namespace Magento\Variable\Model\Source; use Magento\Config\Model\Config\Structure\SearchInterface; +use Magento\Framework\Option\ArrayInterface; use Magento\Variable\Model\Config\Structure\AvailableVariables; /** * Store Contact Information source model. */ -class Variables implements \Magento\Framework\Option\ArrayInterface +class Variables implements ArrayInterface { /** * Variable types @@ -26,16 +27,6 @@ class Variables implements \Magento\Framework\Option\ArrayInterface */ private $configVariables = []; - /** - * @var AvailableVariables - */ - private $configPaths = []; - - /** - * @var SearchInterface - */ - private $configStructure; - /** * Constructor. * @@ -43,11 +34,9 @@ class Variables implements \Magento\Framework\Option\ArrayInterface * @param array $configPaths */ public function __construct( - SearchInterface $configStructure, - AvailableVariables $configPaths + private readonly SearchInterface $configStructure, + private readonly AvailableVariables $configPaths ) { - $this->configStructure = $configStructure; - $this->configPaths = $configPaths; } /** diff --git a/app/code/Magento/Variable/Model/Variable.php b/app/code/Magento/Variable/Model/Variable.php index 473dbb898a3b2..8d17bd4ea30d2 100644 --- a/app/code/Magento/Variable/Model/Variable.php +++ b/app/code/Magento/Variable/Model/Variable.php @@ -5,17 +5,23 @@ */ namespace Magento\Variable\Model; +use Magento\Framework\Data\Collection\AbstractDb; +use Magento\Framework\Escaper; use Magento\Framework\Model\AbstractModel; +use Magento\Framework\Model\Context; +use Magento\Framework\Phrase; +use Magento\Framework\Registry; use Magento\Framework\Validator\HTML\WYSIWYGValidatorInterface; use Magento\Framework\App\ObjectManager; +use Magento\Variable\Model\ResourceModel\Variable\Collection; /** * Custom variable model * * @method string getCode() - * @method \Magento\Variable\Model\Variable setCode(string $value) + * @method Variable setCode(string $value) * @method string getName() - * @method \Magento\Variable\Model\Variable setName(string $value) + * @method Variable setName(string $value) * * @api * @since 100.0.2 @@ -34,32 +40,27 @@ class Variable extends AbstractModel protected $_storeId = 0; /** - * @var \Magento\Framework\Escaper + * @var Escaper */ protected $_escaper = null; /** - * @var WYSIWYGValidatorInterface - */ - private $wysiwygValidator; - - /** - * @param \Magento\Framework\Model\Context $context - * @param \Magento\Framework\Registry $registry - * @param \Magento\Framework\Escaper $escaper - * @param \Magento\Variable\Model\ResourceModel\Variable $resource - * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection + * @param Context $context + * @param Registry $registry + * @param Escaper $escaper + * @param ResourceModel\Variable $resource + * @param AbstractDb $resourceCollection * @param array $data * @param WYSIWYGValidatorInterface|null $wysiwygValidator */ public function __construct( - \Magento\Framework\Model\Context $context, - \Magento\Framework\Registry $registry, - \Magento\Framework\Escaper $escaper, - \Magento\Variable\Model\ResourceModel\Variable $resource, - \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, + Context $context, + Registry $registry, + Escaper $escaper, + ResourceModel\Variable $resource, + AbstractDb $resourceCollection = null, array $data = [], - ?WYSIWYGValidatorInterface $wysiwygValidator = null + private ?WYSIWYGValidatorInterface $wysiwygValidator = null ) { $this->_escaper = $escaper; parent::__construct($context, $registry, $resource, $resourceCollection, $data); @@ -76,7 +77,7 @@ public function __construct( protected function _construct() { parent::_construct(); - $this->_init(\Magento\Variable\Model\ResourceModel\Variable::class); + $this->_init(ResourceModel\Variable::class); } /** @@ -156,7 +157,7 @@ public function beforeSave() /** * Validation of object data. Checking for unique variable code * - * @return \Magento\Framework\Phrase|bool + * @return Phrase|bool */ public function validate() { @@ -179,7 +180,7 @@ public function validate() */ public function getVariablesOptionArray($withGroup = false) { - /* @var $collection \Magento\Variable\Model\ResourceModel\Variable\Collection */ + /* @var $collection Collection */ $collection = $this->getCollection(); $variables = []; foreach ($collection->toOptionArray() as $variable) { diff --git a/app/code/Magento/Variable/Model/Variable/Config.php b/app/code/Magento/Variable/Model/Variable/Config.php index 0fe6d7cc8ae0d..5bce1d7c92570 100644 --- a/app/code/Magento/Variable/Model/Variable/Config.php +++ b/app/code/Magento/Variable/Model/Variable/Config.php @@ -5,7 +5,13 @@ */ namespace Magento\Variable\Model\Variable; +use Magento\Backend\Model\UrlInterface; use Magento\Framework\App\ObjectManager; +use Magento\Framework\DataObject; +use Magento\Framework\Serialize\Serializer\Json; +use Magento\Framework\View\Asset\Repository; +use Magento\Variable\Model\ResourceModel\Variable\CollectionFactory; +use Magento\Variable\Model\Source\Variables; /** * Variable Wysiwyg Plugin Config @@ -16,51 +22,36 @@ class Config { /** - * @var \Magento\Framework\View\Asset\Repository + * @var Repository */ protected $_assetRepo; /** - * @var \Magento\Backend\Model\UrlInterface + * @var UrlInterface */ protected $_url; - /** - * @var \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory - */ - private $collectionFactory; - - /** - * @var \Magento\Variable\Model\Source\Variables - */ - private $storesVariables; - - /** - * @var \Magento\Framework\Serialize\Serializer\Json - */ - private $encoder; - /** * Config constructor. - * @param \Magento\Framework\View\Asset\Repository $assetRepo - * @param \Magento\Backend\Model\UrlInterface $url - * @param \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory|null $collectionFactory - * @param \Magento\Variable\Model\Source\Variables|null $storesVariables - * @param \Magento\Framework\Serialize\Serializer\Json|null $encoder + * @param Repository $assetRepo + * @param UrlInterface $url + * @param CollectionFactory|null $collectionFactory + * @param Variables|null $storesVariables + * @param Json|null $encoder */ public function __construct( - \Magento\Framework\View\Asset\Repository $assetRepo, - \Magento\Backend\Model\UrlInterface $url, - \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory $collectionFactory = null, - \Magento\Variable\Model\Source\Variables $storesVariables = null, - \Magento\Framework\Serialize\Serializer\Json $encoder = null + Repository $assetRepo, + UrlInterface $url, + private ?CollectionFactory $collectionFactory = null, + private ?Variables $storesVariables = null, + private ?Json $encoder = null ) { $this->collectionFactory = $collectionFactory ?: ObjectManager::getInstance() - ->get(\Magento\Variable\Model\ResourceModel\Variable\CollectionFactory::class); + ->get(CollectionFactory::class); $this->storesVariables = $storesVariables ?: ObjectManager::getInstance() - ->get(\Magento\Variable\Model\Source\Variables::class); + ->get(Variables::class); $this->encoder = $encoder ?: ObjectManager::getInstance() - ->get(\Magento\Framework\Serialize\Serializer\Json::class); + ->get(Json::class); $this->_url = $url; $this->_assetRepo = $assetRepo; } @@ -68,7 +59,7 @@ public function __construct( /** * Prepare variable wysiwyg config * - * @param \Magento\Framework\DataObject $config + * @param DataObject $config * @return array */ public function getWysiwygPluginSettings($config) @@ -133,7 +124,7 @@ private function getDefaultVariables() $variables[$variable['value']] = [ 'code' => $variable['value'], 'variable_name' => $variable['label'], - 'variable_type' => \Magento\Variable\Model\Source\Variables::DEFAULT_VARIABLE_TYPE + 'variable_type' => Variables::DEFAULT_VARIABLE_TYPE ]; } diff --git a/app/code/Magento/Variable/Model/Variable/ConfigProvider.php b/app/code/Magento/Variable/Model/Variable/ConfigProvider.php index f6fe9dd880381..ef44814660d56 100644 --- a/app/code/Magento/Variable/Model/Variable/ConfigProvider.php +++ b/app/code/Magento/Variable/Model/Variable/ConfigProvider.php @@ -7,31 +7,29 @@ namespace Magento\Variable\Model\Variable; +use Magento\Framework\Data\Wysiwyg\ConfigProviderInterface; +use Magento\Framework\DataObject; + /** * Class ConfigProvider * This class has been added to prevent BIC changes in the \Magento\Variable\Model\Variable\Config */ -class ConfigProvider implements \Magento\Framework\Data\Wysiwyg\ConfigProviderInterface +class ConfigProvider implements ConfigProviderInterface { - /** - * @var \Magento\Variable\Model\Variable\Config - */ - private $variableConfig; - /** * ConfigProvider constructor. * @param Config $variableConfig */ - public function __construct(Config $variableConfig) - { - $this->variableConfig = $variableConfig; + public function __construct( + private readonly Config $variableConfig + ){ } /** * {@inheritdoc} * */ - public function getConfig(\Magento\Framework\DataObject $config) : \Magento\Framework\DataObject + public function getConfig(DataObject $config): DataObject { $settings = $this->variableConfig->getWysiwygPluginSettings($config); return $config->addData($settings); diff --git a/app/code/Magento/Variable/Model/Variable/Data.php b/app/code/Magento/Variable/Model/Variable/Data.php index d0704b7631fe1..ce5f532e01248 100644 --- a/app/code/Magento/Variable/Model/Variable/Data.php +++ b/app/code/Magento/Variable/Model/Variable/Data.php @@ -6,31 +6,23 @@ namespace Magento\Variable\Model\Variable; +use Magento\Variable\Model\ResourceModel\Variable\Collection; +use Magento\Variable\Model\ResourceModel\Variable\CollectionFactory; +use Magento\Variable\Model\Source\Variables; + /** * The class purpose is returns */ class Data { /** - * @var \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory - */ - private $collectionFactory; - - /** - * @var \Magento\Variable\Model\Source\Variables - */ - private $storesVariables; - - /** - * @param \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory $collectionFactory - * @param \Magento\Variable\Model\Source\Variables $storesVariables + * @param CollectionFactory $collectionFactory + * @param Variables $storesVariables */ public function __construct( - \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory $collectionFactory, - \Magento\Variable\Model\Source\Variables $storesVariables + private readonly CollectionFactory $collectionFactory, + private readonly Variables $storesVariables ) { - $this->collectionFactory = $collectionFactory; - $this->storesVariables = $storesVariables; } /** @@ -45,7 +37,7 @@ public function getDefaultVariables() $variables[] = [ 'code' => $variable['value'], 'variable_name' => $variable['group_label'] . ' / ' . $variable['label'], - 'variable_type' => \Magento\Variable\Model\Source\Variables::DEFAULT_VARIABLE_TYPE + 'variable_type' => Variables::DEFAULT_VARIABLE_TYPE ]; } @@ -59,7 +51,7 @@ public function getDefaultVariables() */ public function getCustomVariables() { - /** @var \Magento\Variable\Model\ResourceModel\Variable\Collection $customVariables */ + /** @var Collection $customVariables */ $customVariables = $this->collectionFactory->create(); $variables = []; @@ -67,7 +59,7 @@ public function getCustomVariables() $variables[] = [ 'code' => $variable['code'], 'variable_name' => __('Custom Variable') . ' / ' . $variable['name'], - 'variable_type' => \Magento\Variable\Model\Source\Variables::CUSTOM_VARIABLE_TYPE + 'variable_type' => Variables::CUSTOM_VARIABLE_TYPE ]; } diff --git a/app/code/Magento/Variable/Ui/Component/VariablesDataProvider.php b/app/code/Magento/Variable/Ui/Component/VariablesDataProvider.php index b5bc88a8c8d19..808aa06daa55f 100644 --- a/app/code/Magento/Variable/Ui/Component/VariablesDataProvider.php +++ b/app/code/Magento/Variable/Ui/Component/VariablesDataProvider.php @@ -10,17 +10,14 @@ use Magento\Framework\Api\Search\SearchCriteriaBuilder; use Magento\Framework\Api\SortOrder; use Magento\Framework\App\RequestInterface; +use Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider; +use Magento\Variable\Model\Variable\Data; /** * Data provider for variables_modal listing */ -class VariablesDataProvider extends \Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider +class VariablesDataProvider extends DataProvider { - /** - * @var \Magento\Variable\Model\Variable\Data - */ - private $variableDataProvider; - /** * @param string $name * @param string $primaryFieldName @@ -29,7 +26,7 @@ class VariablesDataProvider extends \Magento\Framework\View\Element\UiComponent\ * @param SearchCriteriaBuilder $searchCriteriaBuilder * @param RequestInterface $request * @param FilterBuilder $filterBuilder - * @param \Magento\Variable\Model\Variable\Data $variableDataProvider + * @param Data $variableDataProvider * @param array $meta * @param array $data * @SuppressWarnings(PHPMD.ExcessiveParameterList) @@ -42,7 +39,7 @@ public function __construct( SearchCriteriaBuilder $searchCriteriaBuilder, RequestInterface $request, FilterBuilder $filterBuilder, - \Magento\Variable\Model\Variable\Data $variableDataProvider, + private readonly Data $variableDataProvider, array $meta = [], array $data = [] ) { @@ -57,7 +54,6 @@ public function __construct( $meta, $data ); - $this->variableDataProvider = $variableDataProvider; } /** @@ -113,7 +109,7 @@ public function getData() $this->variableDataProvider->getCustomVariables() ); - /** @var \Magento\Framework\Api\SortOrder $sortOrder */ + /** @var SortOrder $sortOrder */ foreach ($sortOrders as $sortOrder) { if ($sortOrder->getField() && $sortOrder->getDirection()) { $items = $this->sortBy($items, $sortOrder->getField(), $sortOrder->getDirection()); diff --git a/app/code/Magento/Variable/registration.php b/app/code/Magento/Variable/registration.php index c68fbb63c2e64..4b0324da9bcb9 100644 --- a/app/code/Magento/Variable/registration.php +++ b/app/code/Magento/Variable/registration.php @@ -6,4 +6,8 @@ use Magento\Framework\Component\ComponentRegistrar; -ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Magento_Variable', __DIR__); +ComponentRegistrar::register( + ComponentRegistrar::MODULE, + 'Magento_Variable', + __DIR__ +); From c241b5cd5e36696aa30fe3fcf099d9fc2c68456a Mon Sep 17 00:00:00 2001 From: Leon Helmus Date: Wed, 8 Mar 2023 22:49:34 +0100 Subject: [PATCH 2/2] Added restrict processed HTTP methods by implementing a Http*Method name*ActionInterface for controllers. Refactored other code that was reported by phpcs/phpmd/phpstan --- app/code/Magento/Variable/Block/System/Variable/Edit.php | 4 ++-- .../Variable/Controller/Adminhtml/System/Variable.php | 6 ++---- .../Controller/Adminhtml/System/Variable/Delete.php | 3 ++- .../Variable/Controller/Adminhtml/System/Variable/Edit.php | 3 ++- .../Controller/Adminhtml/System/Variable/NewAction.php | 3 ++- .../Variable/Controller/Adminhtml/System/Variable/Save.php | 3 ++- .../Controller/Adminhtml/System/Variable/Validate.php | 4 +++- .../Controller/Adminhtml/System/Variable/WysiwygPlugin.php | 3 ++- app/code/Magento/Variable/Model/Config/Structure/Dom.php | 7 ++++++- .../Variable/Model/ResourceModel/Variable/Collection.php | 2 -- app/code/Magento/Variable/Model/Source/Variables.php | 4 ++-- .../Magento/Variable/Model/Variable/ConfigProvider.php | 5 ++--- 12 files changed, 27 insertions(+), 20 deletions(-) diff --git a/app/code/Magento/Variable/Block/System/Variable/Edit.php b/app/code/Magento/Variable/Block/System/Variable/Edit.php index 3919d90395d38..751983c62ffba 100644 --- a/app/code/Magento/Variable/Block/System/Variable/Edit.php +++ b/app/code/Magento/Variable/Block/System/Variable/Edit.php @@ -20,8 +20,6 @@ class Edit extends Container { /** - * Core registry - * * @var Registry */ protected $_coreRegistry = null; @@ -66,6 +64,7 @@ public function getVariable() /** * Prepare layout. + * * Adding save_and_continue button * * @return $this @@ -93,6 +92,7 @@ protected function _preparelayout() * Return form HTML * * @return string + * phpcs:disable Generic.CodeAnalysis.UselessOverridingMethod.Found */ public function getFormHtml() { diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable.php index 83e52f52f045a..62f6a0dc7dc50 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable.php @@ -25,11 +25,9 @@ abstract class Variable extends Action * * @see _isAllowed() */ - const ADMIN_RESOURCE = 'Magento_Variable::variable'; + public const ADMIN_RESOURCE = 'Magento_Variable::variable'; /** - * Core registry - * * @var Registry */ protected $_coreRegistry; @@ -77,7 +75,7 @@ protected function _initVariable() { $variableId = $this->getRequest()->getParam('variable_id', null); $storeId = (int)$this->getRequest()->getParam('store', 0); - /* @var $variable ModelVariable */ + /* @var ModelVariable $variable */ $variable = $this->_objectManager->create(ModelVariable::class); if ($variableId) { $variable->setStoreId($storeId)->load($variableId); diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Delete.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Delete.php index 971606fda42ce..de7526a51e2c0 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Delete.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Delete.php @@ -8,9 +8,10 @@ use Exception; use Magento\Backend\Model\View\Result\Redirect; +use Magento\Framework\App\Action\HttpPostActionInterface; use Magento\Variable\Controller\Adminhtml\System\Variable; -class Delete extends Variable +class Delete extends Variable implements HttpPostActionInterface { /** * Delete Action diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Edit.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Edit.php index 8c35768704ad9..b8443df89d577 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Edit.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Edit.php @@ -10,6 +10,7 @@ use Magento\Framework\View\Element\Template; use Magento\Variable\Block\System\Variable\Edit as SystemVariableEdit; use Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Framework\App\Action\HttpGetActionInterface; /** * Display Variables edit form page @@ -17,7 +18,7 @@ * @api * @since 100.0.2 */ -class Edit extends Variable +class Edit extends Variable implements HttpGetActionInterface { /** * Edit Action diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/NewAction.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/NewAction.php index fa793dddf0385..fee0702043aa9 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/NewAction.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/NewAction.php @@ -7,6 +7,7 @@ namespace Magento\Variable\Controller\Adminhtml\System\Variable; use Magento\Backend\Model\View\Result\Forward; +use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface; use Magento\Variable\Controller\Adminhtml\System\Variable; /** @@ -15,7 +16,7 @@ * @api * @since 100.0.2 */ -class NewAction extends Variable +class NewAction extends Variable implements HttpGetActionInterface { /** * New Action (forward to edit action) diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Save.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Save.php index 4f7bdb6b0f5a7..301ee2da31ae2 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Save.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Save.php @@ -8,6 +8,7 @@ use Exception; use Magento\Backend\Model\View\Result\Redirect; +use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; use Magento\Variable\Controller\Adminhtml\System\Variable; /** @@ -16,7 +17,7 @@ * @api * @since 100.0.2 */ -class Save extends Variable +class Save extends Variable implements HttpPostActionInterface { /** * Save Action diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Validate.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Validate.php index 8962e60498f43..9e86560aaa25d 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Validate.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/Validate.php @@ -6,6 +6,8 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Framework\App\Action\HttpGetActionInterface; +use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; use Magento\Framework\Controller\Result\Json; use Magento\Framework\DataObject; use Magento\Framework\Phrase; @@ -16,7 +18,7 @@ * @api * @since 100.0.2 */ -class Validate extends Variable +class Validate extends Variable implements HttpGetActionInterface, HttpPostActionInterface { /** * Validate Action diff --git a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/WysiwygPlugin.php b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/WysiwygPlugin.php index 4205ad3f259ce..4ee1536c42ec7 100644 --- a/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/WysiwygPlugin.php +++ b/app/code/Magento/Variable/Controller/Adminhtml/System/Variable/WysiwygPlugin.php @@ -6,6 +6,7 @@ */ namespace Magento\Variable\Controller\Adminhtml\System\Variable; +use Magento\Framework\App\Action\HttpGetActionInterface; use Magento\Framework\Controller\Result\Json; use Magento\Variable\Controller\Adminhtml\System\Variable; use Magento\Variable\Model\Source\Variables; @@ -17,7 +18,7 @@ * @api * @since 100.0.2 */ -class WysiwygPlugin extends Variable +class WysiwygPlugin extends Variable implements HttpGetActionInterface { /** * WYSIWYG Plugin Action diff --git a/app/code/Magento/Variable/Model/Config/Structure/Dom.php b/app/code/Magento/Variable/Model/Config/Structure/Dom.php index 750442c2a00f9..db70e05c6c737 100644 --- a/app/code/Magento/Variable/Model/Config/Structure/Dom.php +++ b/app/code/Magento/Variable/Model/Config/Structure/Dom.php @@ -18,6 +18,11 @@ */ class Dom extends ConfigDom { + /** + * @var AvailableVariables + */ + private $structureConfig; + /** * @var array */ @@ -39,7 +44,7 @@ public function __construct( $typeAttributeName = null, $schemaFile = null, $errorFormat = self::ERROR_FORMAT_DEFAULT, - private ?AvailableVariables $availableVariables = null + ?AvailableVariables $availableVariables = null ) { $this->structureConfig = $availableVariables ?: ObjectManager::getInstance()->get(AvailableVariables::class); parent::__construct($xml, $validationState, $idAttributes, $typeAttributeName, $schemaFile, $errorFormat); diff --git a/app/code/Magento/Variable/Model/ResourceModel/Variable/Collection.php b/app/code/Magento/Variable/Model/ResourceModel/Variable/Collection.php index 4a206e1396c89..d771ab99886cf 100644 --- a/app/code/Magento/Variable/Model/ResourceModel/Variable/Collection.php +++ b/app/code/Magento/Variable/Model/ResourceModel/Variable/Collection.php @@ -17,8 +17,6 @@ class Collection extends AbstractCollection { /** - * Store Id - * * @var int */ protected $_storeId = 0; diff --git a/app/code/Magento/Variable/Model/Source/Variables.php b/app/code/Magento/Variable/Model/Source/Variables.php index 04f76d0b2b7f9..dda45f32032eb 100644 --- a/app/code/Magento/Variable/Model/Source/Variables.php +++ b/app/code/Magento/Variable/Model/Source/Variables.php @@ -17,8 +17,8 @@ class Variables implements ArrayInterface /** * Variable types */ - const DEFAULT_VARIABLE_TYPE = "default"; - const CUSTOM_VARIABLE_TYPE = "custom"; + public const DEFAULT_VARIABLE_TYPE = "default"; + public const CUSTOM_VARIABLE_TYPE = "custom"; /** * Assoc array of configuration variables. diff --git a/app/code/Magento/Variable/Model/Variable/ConfigProvider.php b/app/code/Magento/Variable/Model/Variable/ConfigProvider.php index ef44814660d56..04966c4a237d1 100644 --- a/app/code/Magento/Variable/Model/Variable/ConfigProvider.php +++ b/app/code/Magento/Variable/Model/Variable/ConfigProvider.php @@ -22,12 +22,11 @@ class ConfigProvider implements ConfigProviderInterface */ public function __construct( private readonly Config $variableConfig - ){ + ) { } /** - * {@inheritdoc} - * + * @inheritdoc */ public function getConfig(DataObject $config): DataObject {