I have a custom observer with different method definitions:
Should the observer include only execute method?
If i can include all the methods, how?
Vendor\Module\Observer\SyncObserver.php
<?php
namespace Vendor\Module\Observer;
use \Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
class SyncObserver implements ObserverInterface
{
protected $_queue;
/**
* @var \Vendor\Module\Model\QueueFactory
*/
protected $syncQueueFactory;
/**
* @var \Psr\Log\LoggerInterface
*/
protected $logger;
function __construct(
\Vendor\Module\Model\QueueFactory $syncQueueFactory,
\Psr\Log\LoggerInterface $logger
)
{
$this->syncQueueFactory = $syncQueueFactory;
$this->logger = $logger;
$this->_queue = $this->syncQueueFactory->create();
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
//echo 'Sync obssrexe';die;
$event = $observer->getEvent();
//$this->tglssearchEngineFactory->getCatlogSearchResult();
}
//How to include these methods here... if i just put it here, they are no getting called
public function method1(\Magento\Framework\Event\Observer $observer)
{...}
public function method2(\Magento\Framework\Event\Observer $observer)
{...}
UPDATED
Can i use something like this?
function __construct(
\Vendor\module\Model\QueueFactory $syncQueueFactory,
\Psr\Log\LoggerInterface $logger
)
{
$this->syncQueueFactory = $syncQueueFactory;
$this->logger = $logger;
$this->_queue = $this->syncQueueFactory->create();
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
//echo 'Sync obssrexe';die;
$event = $observer->getEvent();
$this->syncQueueFactory->productUpdate();
}
My QueueFactory:
public function productUpdate(\Magento\Framework\Event\Observer $observer)
{...}