Aslında bir örneğini döndürmek gerekli değildir \Magento\Framework\View\Result\Page
. Bu execute
öğenin arabirimi uygulayan bir sınıf örneği döndürmesi beklenir \Magento\Framework\Controller\ResultInterface
.
\Magento\Framework\View\Result\Page
olası bir dönüş.
Diğer olası getiriler
\Magento\Framework\Controller\Result\Redirect
\Magento\Framework\Controller\Result\Raw
\Magento\Framework\View\Result\Layout
\Magento\Framework\Controller\Result\Forward
\Magento\Framework\Controller\Result\Json
ve başkaları da olabilir.
yönteme bir göz atın Magento\Framework\App\Action\Action::dispatch()
.
Bu, bir örneğini döndürmeli \Magento\Framework\Controller\ResultInterface
ve sonuca dayanarak, yine ResultInterface
.
Bu dispatch
yöntem , denetleyici eyleminden yöntem $result = $this->execute();
olan yöntemi çağırır execute
. Sanırım bu tutarlılık ve bir denetleyici eylemi için farklı bir davranış getirmeyi kolaylaştırmak içindir. Sadece uygulayan yeni bir sınıf eklemeniz gerekir ResultInterface
ve hepsi çerçeve tarafından ele alınacaktır.