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

Probando Framework de Zend

Estas en el tema de Probando Framework de Zend en el foro de Zend en Foros del Web. Hoal a todos sigo probando el framework de Zend hasta lograr entender la lógica del desarrollo de aplicaciones utilizando este framework, pues aca les paso ...
  #1 (permalink)  
Antiguo 08/02/2008, 11:27
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Probando Framework de Zend

Hoal a todos sigo probando el framework de Zend hasta lograr entender la lógica del desarrollo de aplicaciones utilizando este framework, pues aca les paso mis archivos.

index.php en la carpeta public
Código:
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 'on');
ini_set('include_path', ini_get('include_path').';../library');

/*
*Zend Loader
*/
require "Zend/Loader.php";
Zend_Loader::loadClass('Zend_Controller_Front');
$front = Zend_Controller_Front::getInstance();
$front->throwExceptions(false);
$front->setControllerDirectory('../application/controllers');

$front->dispatch();

?>
Ahora aca les paso el archivo IndexController.php

Código:
<?php

class IndexController extends Zend_Controller_Action
{
    function indexAction()
    {
        echo "<p>in IndexController::indexAction()</p>";
    }    
    function addAction()
    {
        echo "<p>in IndexController::addAction()</p>";
    }
    
    function editAction()
    {
        echo "<p>in IndexController::editAction()</p>";
    }
    
    function deleteAction()
    {
        echo "<p>in IndexController::deleteAction()</p>";
    }
}

?>
Ahora al cargar el sitio si me carga la parte de la llamada al index, pero cuando llamo a las acciones del controlador me sale que la pagina no existe:

http://app_demo/ funciona
http://app_demo/index/add no funciona
http://app_demo/index/edit no funciona
....

Agradesco sus apoyo.
  #2 (permalink)  
Antiguo 08/02/2008, 12:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

¿Tienes configurado el .htaccess correctamente?

Saludos.
  #3 (permalink)  
Antiguo 08/02/2008, 14:37
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Probando Framework de Zend

TEngo configurado el .htaccess de la siguiente manera:

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
  #4 (permalink)  
Antiguo 08/02/2008, 15:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

Tu servidor Apache tiene activada la extensión mod_rewrite?

Saludos.
  #5 (permalink)  
Antiguo 08/02/2008, 15:45
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Re: Probando Framework de Zend

Bueno si esta activado
Tengo la siguiente instrucción:

LoadModule rewrite_module modules/mod_rewrite.so

Código:
<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
    Satisfy all
</Directory>
Es la versión apache 2.2 bajo Windows
  #6 (permalink)  
Antiguo 08/02/2008, 16:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

Esta muy raro, ya reiniciaste el Apache me supongo, la verdad no se que podrá estar pasando porque parece ser que no te esta enrutando con el .htaccess como debería y por eso el Zend no te marca las nuevas variables.
  #7 (permalink)  
Antiguo 08/02/2008, 16:21
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Re: Probando Framework de Zend

Si reinicie el Apache como es de costumbre cada vez que se hace un cambio, pero a mi también me parece extraño ya que esta tal cual indica en el manual.
  #8 (permalink)  
Antiguo 08/02/2008, 16:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

A ver prueba esto en tu bootstrap file:
Código PHP:
<?php
error_reporting
(E_ALL|E_STRICT);
ini_set('display_errors''on');
ini_set('include_path'ini_get('include_path').';../library');

var_dump$_GET );

/*
*Zend Loader
*/
require "Zend/Loader.php";
Zend_Loader::loadClass('Zend_Controller_Front');
$front Zend_Controller_Front::getInstance();
$front->throwExceptions(false);
$front->setControllerDirectory('../application/controllers');

$front->dispatch();

?>
y verifica si están llegando todos los datos desde $_GET.

Saludos.
  #9 (permalink)  
Antiguo 08/02/2008, 16:36
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Probando Framework de Zend

Acabo de aregar la linea que me indicas y me sale el siguiente mensaje en la página:

array(0) { }
in IndexController::indexAction()
  #10 (permalink)  
Antiguo 08/02/2008, 17:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

Y en los demás métodos?, en http://app_demo/index/add e http://app_demo/index/delete?

Saludos.
  #11 (permalink)  
Antiguo 08/02/2008, 18:23
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Probando Framework de Zend

Cuando pongo las direcciones que me indicas me sale que no existen las paginas.
  #12 (permalink)  
Antiguo 08/02/2008, 18:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

Entonces si el problema es que tu instalación de Apache con el modulo de mod_rewrite esta mal.

Verifica bien que puedas usar mod_rewrite en tu instalación.

Saludos.
  #13 (permalink)  
Antiguo 08/02/2008, 18:43
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Probando Framework de Zend

eso no deberia ser problema de php ni del framework, prueba reiniciando el pc y asegurate que la configuracion del httpd.conf este correcta.

asegurate que apache este tomando el fichero .htaccess, aunque es poco probable que no sea asi.

y finalmente prueba entrando
http://app_demo/otra.html --> deberia redireccionar a index.php

pensandolo bien esto deberias probarlo al principio, si no redirecciona y te dice que no existe la pag, prueba creandola, si la carga bien despues de esto, es problema en apache, si sigue sin encontrarla tambien es problema en apache :P en los ficheros de configuracion.

pero no creo que vaya por el framework, revisate el foro de ZF http://www.zfforum.es/ ahi hay guias de como correr la aplicacion y problemas similares que son tipicos en la configuracion de apache, casi siempre es por no reiniciar. :p

saludos
  #14 (permalink)  
Antiguo 21/02/2008, 10:22
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Probando Framework de Zend

Hola nuevamente retomando este tema y creo que el problema era el Apache así que me descargue la versión que viene con el Wamp activo el modulo rewrite y parece que ahora si me muestra las páginas pero con errores.

Cuando llamo a la acción add sale lo siguiente:

Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\wamp\www\zend\library\Zend\Controller\Dispatche r\Standard.php:198 Stack trace: #0 C:\wamp\www\zend\library\Zend\Controller\Front.php (929): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\wamp\www\zend\index.php(22): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\wamp\www\zend\library\Zend\Controller\Dispatche r\Standard.php on line 198


Paso el código de mi archivo index.php
Código PHP:
<?php
/*
*Error reporting
*/

error_reporting(E_ALL|E_STRICT);
date_default_timezone_set('America/Lima');
ini_set('display_errors''on');
ini_set('include_path'ini_get('include_path').';./library');
ini_set('include_path'ini_get('include_path').';./application/models');

/*
*Zend Loader
*/
$baseUrl substr($_SERVER['PHP_SELF'], 0, -9);
include 
"Zend/Loader.php";
Zend_Loader::loadClass('Zend_Controller_Front');
$front Zend_Controller_Front::getInstance();
$front->setBaseUrl($baseUrl);
$front->setControllerDirectory('./application/controllers');
$front->throwExceptions(false);
$front->dispatch();
  #15 (permalink)  
Antiguo 21/02/2008, 10:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

Cual es el código que usas para estar llamando a tu controller?

Saludos.
  #16 (permalink)  
Antiguo 21/02/2008, 10:49
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Re: Probando Framework de Zend

Bueno en realidad estoy probando esto de las acciones dentro de los controladores y estoy poniendo dentro del archivo IndexController.php

Código PHP:
<?php

class IndexController extends Zend_Controller_Action
{
    function 
indexAction()
    {
        echo 
"<p>in IndexController::indexAction()</p>";
    }    
    function 
addAction()
    {
        echo 
"<p>in IndexController::addAction()</p>";
    }
    
    function 
editAction()
    {
        echo 
"<p>in IndexController::editAction()</p>";
    }
    
    function 
deleteAction()
    {
        echo 
"<p>in IndexController::deleteAction()</p>";
    }
}
Ahora si llamo desde el navegador con http://localhost/zend/index/add deberia mostrarme la acción add de acuerdo a la documentación.

aca esta la estructura de mi sitio.

zend
........application
..............controllers
.......................IndexController.php
..............models
..............views
........library
..............zend
........public
........index.php
  #17 (permalink)  
Antiguo 21/02/2008, 10:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

Prueba esto en tu bootstrap (index.php):
Código PHP:
<?php
/*
*Error reporting
*/

error_reporting(E_ALL|E_STRICT);
date_default_timezone_set('America/Lima');
ini_set('display_errors''on');
ini_set('include_path'ini_get('include_path').';./library');
ini_set('include_path'ini_get('include_path').';./application/models');

var_dump$_GET );

/*
*Zend Loader
*/
$baseUrl substr($_SERVER['PHP_SELF'], 0, -9);
include 
"Zend/Loader.php";
Zend_Loader::loadClass('Zend_Controller_Front');
$front Zend_Controller_Front::getInstance();
$front->setBaseUrl($baseUrl);
$front->setControllerDirectory('./application/controllers');
$front->throwExceptions(false);
$front->dispatch();
y pega aqui lo que te da, con eso podremos ver si el mod_rewrite esta funcionando correctamente.

Saludos.
  #18 (permalink)  
Antiguo 21/02/2008, 11:49
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Probando Framework de Zend

Sale esto cuando invoco a index

array(0) { }

y cuando invoco a otra accion sale esto:

array(0) { }
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\wamp\www\tuto\library\Zend\Controller\Dispatche r\Standard.php:198 Stack trace: #0 C:\wamp\www\tuto\library\Zend\Controller\Front.php (929): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\wamp\www\tuto\index.php(24): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\wamp\www\tuto\library\Zend\Controller\Dispatche r\Standard.php on line 198
  #19 (permalink)  
Antiguo 21/02/2008, 11:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

Entonces tu mod_rewrite sigue sin funcionar, debes de seguir los pasos específicos para habilitar el mod_rewrite en tu Apache.

Para mayor asesoría te pido vayas al foro de Apache donde te podran asesorar como activar el modulo mod_rewrite.

Saludos.
  #20 (permalink)  
Antiguo 21/02/2008, 12:08
 
Fecha de Ingreso: diciembre-2007
Mensajes: 16
Antigüedad: 17 años
Puntos: 0
Re: Probando Framework de Zend

no te kebres la cabeza usa el xampp y baja el code integer, ahi ya no es necesario configurarl el apache ni el php, y tiene un el mysql como gestror de base de datos.
  #21 (permalink)  
Antiguo 21/02/2008, 14:39
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Re: Probando Framework de Zend

Amigo GatorV, cuando se tiene el mod_rewrite configurado correctamente como debería salir poniendo el comando que indicas?
  #22 (permalink)  
Antiguo 21/02/2008, 15:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Probando Framework de Zend

Te debería de dar mínimo algunos datos en el GET como por decir:
Código:
Array(1) {
       [0] = "/index/add/"
}
Saludos.
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 02:34.