Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
FilterProvider.php
Go to the documentation of this file.
1 <?php
9 
14 {
18  protected $_objectManager;
19 
23  protected $_pageFilter;
24 
28  protected $_blockFilter;
29 
33  protected $_instanceList;
34 
40  public function __construct(
42  $pageFilter = \Magento\Cms\Model\Template\Filter::class,
43  $blockFilter = \Magento\Cms\Model\Template\Filter::class
44  ) {
45  $this->_objectManager = $objectManager;
46  $this->_pageFilter = $pageFilter;
47  $this->_blockFilter = $blockFilter;
48  }
49 
55  protected function _getFilterInstance($instanceName)
56  {
57  if (!isset($this->_instanceList[$instanceName])) {
58  $instance = $this->_objectManager->get($instanceName);
59 
60  if (!$instance instanceof \Magento\Framework\Filter\Template) {
61  throw new \Exception('Template filter ' . $instanceName . ' does not implement required interface');
62  }
63  $this->_instanceList[$instanceName] = $instance;
64  }
65 
66  return $this->_instanceList[$instanceName];
67  }
68 
72  public function getBlockFilter()
73  {
74  return $this->_getFilterInstance($this->_blockFilter);
75  }
76 
80  public function getPageFilter()
81  {
82  return $this->_getFilterInstance($this->_pageFilter);
83  }
84 }
$objectManager
Definition: bootstrap.php:17
__construct(\Magento\Framework\ObjectManagerInterface $objectManager, $pageFilter=\Magento\Cms\Model\Template\Filter::class, $blockFilter=\Magento\Cms\Model\Template\Filter::class)