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\Pageolası 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\ResultInterfaceve sonuca dayanarak, yine ResultInterface.
Bu dispatchyö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 ResultInterfaceve hepsi çerçeve tarafından ele alınacaktır.