Zend Framework 2: إعادة استجابة من دون View أو Layout
طريقتان لتخطي العرض في Controller بـ ZF2: إعادة الاستجابة مباشرة، أو العرض من دون القالب العام.
من الأرشيف: نُشر أصلًا على mohamedsharaf.net في أكتوبر 2012. أُعيدت كتابته ومراجعته في 2026، وبعض التفاصيل قد تكون قديمة.
أحيانًا لا يجب أن يعرض الـ Action أي قالب، مثلًا عندما يعيد ملفًا أو إعادة توجيه أو JSON خام. في Zend Framework 2 أمامك خياران:
تخطي العرض بالكامل
public function exportAction()
{
$response = $this->getResponse();
$response->setContent($csv);
return $response; // returning the Response object skips rendering
}
عرض الـ View لكن من دون الـ Layout
public function partialAction()
{
$view = new ViewModel(['items' => $items]);
$view->setTerminal(true); // no layout around it
return $view;
}
اليوم: يستمر Zend Framework 2 باسم Laminas MVC، والطريقتان تعملان بالأسلوب نفسه. وللـ JSON يكون JsonModel أنظف غالبًا.