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

Zend Framework y Doctrine

Estas en el tema de Zend Framework y Doctrine en el foro de Zend en Foros del Web. Hola estoy tratando de integrar Doctrine con el framework de Zend; a pude lograr crear modelos y tablas con la aplicacion de doctrine; ya puedo ...
  #1 (permalink)  
Antiguo 10/10/2011, 10:58
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Zend Framework y Doctrine

Hola estoy tratando de integrar Doctrine con el framework de Zend; a pude lograr crear modelos y tablas con la aplicacion de doctrine; ya puedo instanciar modelos desde mis controladores e insetrar datos; pero cuando trato de hacer una consulta de este estilo:

Código PHP:
$qSubcategoriaDoctrine_Query::create()
                ->
from('Subcategoria');
$qSubcategoria->execute(); 
La salida hacia el navegador es el layout de error (error.phtml) configurado por mi; como cuando una ubicacion no se encuentra.

Alguien sabe a que se debe esto?
__________________
Blog blog.desarrollandoideas.com

Twitter
Sígueme en Twitter
  #2 (permalink)  
Antiguo 10/10/2011, 11:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Zend Framework y Doctrine

Revisa que tu APPLICATION_ENV este puesto como Development para que veas los mensajes de error.

Saludos.
  #3 (permalink)  
Antiguo 10/10/2011, 11:09
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Zend Framework y Doctrine

Gracias Gator, ya cambié esa constante tal como dices, además he configurado lo siguiente para que se muestren errores de php:

phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

El asunto es que si cometo un error de sintaxis la salida si refleja el error, pero con el DQL de doctrine no recibo error alguno más que el layout de error.
__________________
Blog blog.desarrollandoideas.com

Twitter
Sígueme en Twitter
  #4 (permalink)  
Antiguo 10/10/2011, 11:41
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Zend Framework y Doctrine

Sigo investigando para ver cual puede ser el error. Pego el codigo de

Application.ini
Código:
[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

autoloaderNamespaces[] = "Doctrine"

; ------------------------------------------
; database
; ------------------------------------------
doctrine.dsn                = "mysql://root:@localhost/catalogozend"
doctrine.data_fixtures_path = APPLICATION_PATH "/configs/data/fixtures"
doctrine.sql_path           = APPLICATION_PATH "/configs/data/sql"
doctrine.migrations_path    = APPLICATION_PATH "/configs/migrations"
doctrine.yaml_schema_path   = APPLICATION_PATH "/configs/schema.yml"
doctrine.models_path        = APPLICATION_PATH "/models"

resources.view[]=
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
Boostrap.php
Código PHP:
<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function 
_initAppAutoload()
    {
        
$autoloader = new Zend_Application_Module_Autoloader(array(
            
'namespace' => 'catalogozend',
            
'basePath'  => dirname(__FILE__),
        ));
        return 
$autoloader;
    }

    protected function 
_initDoctrine()
    {
        
$this->getApplication()->getAutoloader()
                               ->
pushAutoloader(array('Doctrine''autoload'));
        
spl_autoload_register(array('Doctrine''modelsAutoload'));
        
$manager Doctrine_Manager::getInstance();
        
$manager->setAttribute(Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDEtrue);
        
$manager->setAttribute(
            
Doctrine::ATTR_MODEL_LOADING,
            
Doctrine::MODEL_LOADING_CONSERVATIVE
        
);
        
$manager->setAttribute(Doctrine::ATTR_AUTOLOAD_TABLE_CLASSEStrue);

        
$doctrine $this->getOption('doctrine');
        
$conn Doctrine_Manager::connection($doctrine['dsn'], 'doctrine');
        
Doctrine::loadModels($doctrine["models_path"]);  
        
$conn->setAttribute(Doctrine::ATTR_USE_NATIVE_ENUMtrue);
        return 
$conn;
    }

}
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') : 'development'));

// 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';

// Create application, bootstrap, and run
$application = new Zend_Application(
    
APPLICATION_ENV,
    
APPLICATION_PATH '/configs/application.ini'
);
$application->bootstrap()
            ->
run();
__________________
Blog blog.desarrollandoideas.com

Twitter
Sígueme en Twitter
  #5 (permalink)  
Antiguo 10/10/2011, 11:58
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Zend Framework y Doctrine

Es que siempre que allá una excepción y no la captures te va a enviar a ErrorController::error, no solo los 404 o 505, que tienes en el error.phtml ? y las lineas que comentas que has modificado deberían estar así por defecto en development.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #6 (permalink)  
Antiguo 10/10/2011, 12:10
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Zend Framework y Doctrine

Hola masterpuppet, en el archivo error.phtml no tengo más que:

Código HTML:
<h1>Error</h1> 
Ya he intentado hacer un try-catch y sigo obteniendo el mismo resultado:

Código PHP:
             try 
            {
                
$q=Doctrine_Query::create()->from('Subcategoria');
                
$q->execute();
            } 
            catch (
Doctrine_Connection_Exception $e
            {
                echo 
'Code : ' $e->getPortableCode();
                echo 
'Message : ' $e->getPortableMessage();
            } 
__________________
Blog blog.desarrollandoideas.com

Twitter
Sígueme en Twitter
  #7 (permalink)  
Antiguo 10/10/2011, 12:23
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Zend Framework y Doctrine

Es que el error.phtml por defecto tiene algo mas que eso, es justamente lo que te muestra el detalle del error y ten en cuenta que estas capturando las excepciones de la conexion solamente, trata:

Código PHP:
Ver original
  1. try  {
  2.     $q = Doctrine_Query::create()->from('Subcategoria');
  3.     $q->execute();
  4. }  catch (Doctrine_Exception $e)  {
  5.     echo 'Code : ' . $e->getPortableCode();
  6.     echo 'Message : ' . $e->getPortableMessage();
  7. }

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #8 (permalink)  
Antiguo 10/10/2011, 12:59
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Zend Framework y Doctrine

masterpuppet, muchas gracias, finalmente pude encontrar el error haciendo:
Código PHP:
    try  {
        
$q Doctrine_Query::create()->from('Subcategoria');
        
$q->execute();
    }  catch (
Doctrine_Exception $e)  {
        echo 
'Message : ' $e->getMessage();
    } 
El error era una tonteria, pero haber hecho esto me ha ayudado a comprender varias cosas.
__________________
Blog blog.desarrollandoideas.com

Twitter
Sígueme en Twitter

Etiquetas: doctrine, 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 13:02.