Engellenebilen üyelerim var ve üye engellendiğinde bunları özel bir hata sayfasına göndermek istiyorum, bunu zend çerçevesinde nasıl yapabilirim? Ben Özel hata sayfaları Zend Framework'e nasıl gönderilir?
throw new Zend_Controller_Dispatcher_Exception('Your message here');
denedik ama "Mesajınızı buraya" demiyor, bu böyle yaptığımda "sayfa bulunamadı" diyor.
Burada hata denetleyicim var. İşte
<?php
class ErrorController extends Zend_Controller_Action
{
public function errorAction()
{
$errors = $this->_getParam('error_handler');
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
// 404 error -- controller or action not found
$this->getResponse()->setHttpResponseCode(404);
$this->view->message = 'Page not found';
break;
// 666 error -- controller or action not found
$this->getResponse()->setHttpResponseCode(666);
$this->view->message = 'Blocked';
break;
default:
// application error
$this->getResponse()->setHttpResponseCode(500);
$this->view->message = 'Application error';
break;
}
// Log exception, if logger available
if ($log = $this->getLog()) {
$log->crit($this->view->message, $errors->exception);
}
// conditionally display exceptions
if ($this->getInvokeArg('displayExceptions') == true) {
$this->view->exception = $errors->exception;
}
$this->view->request = $errors->request;
}
public function getLog()
{
$bootstrap = $this->getInvokeArg('bootstrap');
if (!$bootstrap->hasPluginResource('Log')) {
return false;
}
$log = $bootstrap->getResource('Log');
return $log;
}
}
dokümantasyon olduğunu
http://framework.zend.com/manual/en/zend.exception.using.html ben bunu anlamıyorum :(
Cevabınız için teşekkür ederiz! Cemal'ın bu hata işleyicisiyle bir hata mesajı alması gibi engelli üyeler gibi sorunların ele alınması konusundaki cevabı hakkında ne düşünüyorsunuz? Kullanmalı mıyım yoksa başka bir kontrol cihazı kullanarak mı çalışmalıyım? – Darius
Bir istisnayı atmak ve hata denetleyicisinin ele almasını sağlamak için bir eylem yardımcı veya statik yöntemini çağırmak kadar kolay olur. Varsayılan ErrorHandler eklentisi, yalnızca 404 hatası gibi belirli istisnaları yakalamak için tasarlanırken, bunu çok fazla karmaşıklaştırmamak anlamlıdır. Diğer koşulların üstesinden gelmek için hata denetleyicilere küçük değişiklikler yaptım, bu yüzden gereksinimlerinize uygun olup olmadığını tahmin ediyorum, ya da el ile yönergeleri izleyin ve sadece bunu yapacak bir yardımcı aracı uygulayın. – drew010