Skip to content

Commit 20d6fdf

Browse files
committed
Code refactoring.
1 parent 72dc2dd commit 20d6fdf

File tree

1 file changed

+43
-33
lines changed

1 file changed

+43
-33
lines changed

app/code/Magento/CatalogSearch/Model/Search/Category.php

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,60 +6,70 @@
66
declare(strict_types=1);
77

88
namespace Magento\CatalogSearch\Model\Search;
9+
10+
use Magento\Backend\Helper\Data;
11+
use Magento\Catalog\Api\CategoryListInterface;
12+
use Magento\Framework\Api\FilterBuilder;
13+
use Magento\Framework\Api\SearchCriteriaBuilder;
14+
use Magento\Framework\Api\SearchCriteriaBuilderFactory;
15+
use Magento\Framework\DataObject;
16+
use Magento\Framework\Stdlib\StringUtils;
17+
918
/**
1019
* Search model for backend search
1120
*/
12-
class Category extends \Magento\Framework\DataObject
21+
class Category extends DataObject
1322
{
1423
/**
15-
* Adminhtml data
16-
*
17-
* @var \Magento\Backend\Helper\Data
24+
* @var Data
1825
*/
19-
protected $_adminhtmlData = null;
26+
private $adminhtmlData = null;
2027

2128
/**
22-
* @var \Magento\Catalog\Api\CategoryListInterface
29+
* @var CategoryListInterface
2330
*/
24-
protected $categoryRepository;
31+
private $categoryRepository;
2532

2633
/**
27-
* @var \Magento\Framework\Api\SearchCriteriaBuilder
34+
* @var SearchCriteriaBuilder
2835
*/
29-
protected $searchCriteriaBuilder;
36+
private $searchCriteriaBuilder;
3037

3138
/**
32-
* @var \Magento\Framework\Api\FilterBuilder
39+
* @var FilterBuilder
3340
*/
34-
protected $filterBuilder;
41+
private $filterBuilder;
3542

3643
/**
37-
* Magento string lib
38-
*
39-
* @var \Magento\Framework\Stdlib\StringUtils
44+
* @var SearchCriteriaBuilderFactory
4045
*/
41-
protected $string;
46+
private $searchCriteriaBuilderFactory;
4247

4348
/**
44-
* Initialize dependencies.
45-
*
46-
* @param \Magento\Backend\Helper\Data $adminhtmlData
47-
* @param \Magento\Catalog\Api\CategoryListInterface $categoryRepository
48-
* @param \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder
49-
* @param \Magento\Framework\Api\FilterBuilder $filterBuilder
50-
* @param \Magento\Framework\Stdlib\StringUtils $string
49+
* @var StringUtils
50+
*/
51+
private $string;
52+
53+
/**
54+
* @param Data $adminhtmlData
55+
* @param CategoryListInterface $categoryRepository
56+
* @param SearchCriteriaBuilder $searchCriteriaBuilder
57+
* @param SearchCriteriaBuilderFactory $searchCriteriaBuilderFactory
58+
* @param FilterBuilder $filterBuilder
59+
* @param StringUtils $string
5160
*/
5261
public function __construct(
53-
\Magento\Backend\Helper\Data $adminhtmlData,
54-
\Magento\Catalog\Api\CategoryListInterface $categoryRepository,
55-
\Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder,
56-
\Magento\Framework\Api\FilterBuilder $filterBuilder,
57-
\Magento\Framework\Stdlib\StringUtils $string
58-
)
59-
{
60-
$this->_adminhtmlData = $adminhtmlData;
62+
Data $adminhtmlData,
63+
CategoryListInterface $categoryRepository,
64+
SearchCriteriaBuilder $searchCriteriaBuilder,
65+
SearchCriteriaBuilderFactory $searchCriteriaBuilderFactory,
66+
FilterBuilder $filterBuilder,
67+
StringUtils $string
68+
) {
69+
$this->adminhtmlData = $adminhtmlData;
6170
$this->categoryRepository = $categoryRepository;
6271
$this->searchCriteriaBuilder = $searchCriteriaBuilder;
72+
$this->searchCriteriaBuilderFactory = $searchCriteriaBuilderFactory;
6373
$this->filterBuilder = $filterBuilder;
6474
$this->string = $string;
6575
}
@@ -76,7 +86,7 @@ public function load()
7686
$this->setResults($result);
7787
return $this;
7888
}
79-
89+
$this->searchCriteriaBuilder = $this->searchCriteriaBuilderFactory->create();
8090
$this->searchCriteriaBuilder->setCurrentPage($this->getStart());
8191
$this->searchCriteriaBuilder->setPageSize($this->getLimit());
8292
$searchFields = ['name'];
@@ -86,7 +96,7 @@ public function load()
8696
$filters[] = $this->filterBuilder
8797
->setField($field)
8898
->setConditionType('like')
89-
->setValue('%' . $this->getQuery() . '%')
99+
->setValue(sprintf("%%%s%%", $this->getQuery()))
90100
->create();
91101
}
92102
$this->searchCriteriaBuilder->addFilters($filters);
@@ -101,7 +111,7 @@ public function load()
101111
'type' => __('Category'),
102112
'name' => $category->getName(),
103113
'description' => $this->string->substr($description, 0, 30),
104-
'url' => $this->_adminhtmlData->getUrl('catalog/category/edit', ['id' => $category->getId()]),
114+
'url' => $this->adminhtmlData->getUrl('catalog/category/edit', ['id' => $category->getId()]),
105115
];
106116
}
107117
$this->setResults($result);

0 commit comments

Comments
 (0)