Foros del Web » Programando para Internet » PHP » Zend »

Controlar errores en Zend framework

Estas en el tema de Controlar errores en Zend framework en el foro de Zend en Foros del Web. Hola amigos como estan: Tengo una aplicacion hecho en Zend framework pero resulta que cuando dejo de utilizar por un buen tiempo la aplicacion y ...
  #1 (permalink)  
Antiguo 09/04/2010, 10:34
 
Fecha de Ingreso: abril-2010
Ubicación: Lima-Peru
Mensajes: 94
Antigüedad: 14 años, 7 meses
Puntos: 2
Controlar errores en Zend framework

Hola amigos como estan:

Tengo una aplicacion hecho en Zend framework pero resulta que cuando dejo de utilizar por un buen tiempo la aplicacion y al tratar de usarlo de nuevo me bota un error:

Cita:
An error occurred
Application error
alguien me podira ayudar como capturar este error y me vuelva al login de inicio de la aplicacion???
o tengo q agregar algo a mi codigo para q no suceda esto??

Espero su ayuda. Gracias

Última edición por daniko_013; 09/04/2010 a las 11:01
  #2 (permalink)  
Antiguo 09/04/2010, 11:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Controlar errores en Zend framework

Ese error, es el error genérico que sale cuando hay una excepción no atrapada, te recomiendo que pongas tu environment en el .htaccess en Development para que veas la causa del error.

Saludos.
  #3 (permalink)  
Antiguo 09/04/2010, 11:44
 
Fecha de Ingreso: abril-2010
Ubicación: Lima-Peru
Mensajes: 94
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Controlar errores en Zend framework

Hola GatorV, gracias por responder, en mi .htaccess tengo lo siguiente:


[
Código HTML:
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

este archivo se encuentra en el ../proyecto/public/

Sinceramente no entiendo que es lo que deberia de hacer si por favor me podrias especificar el tema, te lo agradecieria profundamente

Gracias,
  #4 (permalink)  
Antiguo 09/04/2010, 11:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Controlar errores en Zend framework

En ese caso indicale al front controller que lanze las excepciones usando $front->throwExceptions(true);

Saludos.
  #5 (permalink)  
Antiguo 09/04/2010, 12:12
 
Fecha de Ingreso: abril-2010
Ubicación: Lima-Peru
Mensajes: 94
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Controlar errores en Zend framework

Disculpa la molesti GatorV, mis scripts que tengo son:

index.php
Código PHP:
<?php

// Define path to application directory
defined('APPLICATION_PATH')
    || 
define('APPLICATION_PATH'realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || 
define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    
realpath(APPLICATION_PATH '/../library'),
    
get_include_path(),
)));

/** Zend_Application */
require_once 'Zend/Application.php';  
//$front = Zend_Controller_Front::getInstance();
//$front->setControllerDirectory('../application/controllers');
//$frontController->setBaseUrl('/localhost/noticias2');
//$front->throwExceptions(true);

// Create application, bootstrap, and run
$application = new Zend_Application(
    
APPLICATION_ENV
    
APPLICATION_PATH '/configs/application.ini'
);
$application->bootstrap()
            ->
run();
y en el bootstrap.php tengo

Código PHP:
<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    private 
$_acl null;
    
    protected function 
_initAutoload() {
        
$modelLoader = new Zend_Application_Module_Autoloader(array(
                        
'namespace' => '',
                        
'basePath' => APPLICATION_PATH.'/modules/default'));
        
        if(
Zend_Auth::getInstance()->hasIdentity()) {
            
Zend_Registry::set('level'Zend_Auth::getInstance()->getStorage()->read()->level);
        } else {
            
Zend_Registry::set('level''guests');
        }
        
        
$this->_acl = new Model_ControlAcl;
        
$this->_auth Zend_Auth::getInstance();
        
        
$fc Zend_Controller_Front::getInstance();
        
$fc->registerPlugin(new Plugin_AccessCheck($this->_acl));
        
        return 
$modelLoader;
    }
    
    function 
_initViewHelpers() {
        
$this->bootstrap('layout');
        
$layout $this->getResource('layout');
        
$view $layout->getView();
        
        
$view->setHelperPath(APPLICATION_PATH.'/helpers''');
        
        
$view->doctype('HTML4_STRICT');
        
$view->headMeta()->appendHttpEquiv('Content-type''text/html;charset=utf-8')
                        ->
appendName('description''Using view helpers in Zend_view');
        
        
$view->headTitle()->setSeparator(' - ')
             ->
headTitle('Control Operativo v.0.4 - AVM Aduanera SAC');
        
        
$navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH '/configs/navigation.xml''nav');
        
$navContainer = new Zend_Navigation($navContainerConfig);
    
        
$view->navigation($navContainer)->setAcl($this->_acl)->setRole(Zend_Registry::get('level'));
        
        
$view = new Zend_View();
        
$view->addHelperPath("ZendX/JQuery/View/Helper""ZendX_JQuery_View_Helper");
        
/*$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
        $viewRenderer->setView($view);
        Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);*/
    
}
    
    protected function 
_initLocale(){

    
$locale = new Zend_Locale();
    
$locale->setLocale('es_ES');
    
Zend_Registry::set('Zend_Locale'$locale); // la registramos para su futuro uso en el resto de la aplicación
}

protected function 
_initPlugins(){
        
$this->bootstrap('frontController');

        
$plugin = new My_LayoutPlugin();
        
$this->frontController->registerPlugin($plugin);
        
$this->frontController->throwExceptions(true);
    }
    

}
es en este en donde puse lo q me señalaste(ultima linea de codigo):

Código PHP:
$this->frontController->throwExceptions(true); 
Estara bien ahi??

con eso se resolverá el problema y retornará a la pantalla inicial es decir al login??

Espero tu ayuda gracias.
  #6 (permalink)  
Antiguo 09/04/2010, 13:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Controlar errores en Zend framework

No, eso es para que veas que error te esta saliendo, si te fijas ya puedes poner en tu .htaccess el enviroment variable para controlar si es development o production.

La idea es que en development veas los errores. Luego ya que veas que error es el que causa el application error puedas arreglarlo.

Saludos.
  #7 (permalink)  
Antiguo 12/04/2010, 09:13
 
Fecha de Ingreso: abril-2010
Ubicación: Lima-Peru
Mensajes: 94
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Controlar errores en Zend framework

Gracias GatorV por tu ayuda estaba un poco perdido pero ya me aclaraste las dudas y encontré esta información para los que estan interesados.

http://blog.pragmum.com/empezando-con-zend-framework/

Saludos y muchas gracias de nuevo

Última edición por daniko_013; 12/04/2010 a las 09:18

Etiquetas: controlar, framework
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:50.