Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/04/2012, 04:26
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Personalizar Todos los Errores de Symfony 1.4

A ver, las excepciones deberían ir en lib/exception, por ejemplo un error 403(Forbidden) podría ser algo así:

lib/exceptions/Error403Exception.class.php
Código PHP:
Ver original
  1. class Error403Exception extends sfException
  2. {
  3.    /**
  4.     * Forwards to the 403 action.
  5.     */
  6.     public function printStackTrace()
  7.     {
  8.         $exception = null === $this->wrappedException ? $this : $this->wrappedException;
  9.  
  10.         if (sfConfig::get('sf_debug')) {
  11.             $response = sfContext::getInstance()->getResponse();
  12.             if (null === $response) {
  13.                 $response = new sfWebResponse(sfContext::getInstance()->getEventDispatcher());
  14.                 sfContext::getInstance()->setResponse($response);
  15.             }
  16.             $response->setStatusCode(403);
  17.             return parent::printStackTrace();
  18.         } else {
  19.             // log all exceptions in php log
  20.             if (!sfConfig::get('sf_test')) {
  21.                 error_log($this->getMessage());
  22.             }
  23.             sfContext::getInstance()->getController()
  24.                                     ->forward(
  25.                                         sfConfig::get('sf_error_403_module'),
  26.                                         sfConfig::get('sf_error_403_action'));
  27.         }
  28.     }
  29. }

some controller
Código PHP:
Ver original
  1. public function executeIndex(sfWebRequest $request)
  2. {
  3.     ...
  4.     if(!$acl->isAllowed(...)){
  5.         throw new Error403Exception();
  6.     }
  7.     ...
  8. }

Te sugiero que para la proxima postes en el foro adecuado FW's y OOP

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)