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

Fatal error: Class 'Zend_Form' not found in...

Estas en el tema de Fatal error: Class 'Zend_Form' not found in... en el foro de Zend en Foros del Web. Buenos días. He estado intentando trabajar con Zend Framework, pero al tratar de mostrar un formulario, me aparece el siguiente error: Fatal error : Class ...
  #1 (permalink)  
Antiguo 28/03/2011, 12:14
Avatar de mckfly  
Fecha de Ingreso: marzo-2011
Ubicación: Colombia
Mensajes: 3
Antigüedad: 13 años, 7 meses
Puntos: 0
Fatal error: Class 'Zend_Form' not found in...

Buenos días.

He estado intentando trabajar con Zend Framework, pero al tratar de mostrar un formulario, me aparece el siguiente error:

Fatal error: Class 'Zend_Form' not found in C:\xampp\htdocs\prueba\application\formularios\Agr egarUsuariosForm.php on line 2

Las caracteristicas de las herramientas con las que me encuentro trabajando son las siguientes:

ZendFramework-1.11.3
Servidor: XAMPP para Windows Version 1.7.0 (con php 5.2.8)
IDE : NetBeans 6.9.1
PHP 5 Interpreter C:\xampp\php\php.exe
Zend script C:\xampp\php\PEAR\Zend\bin\zf.bat
Variable de Ususario (path): C:\xampp\php
Directorio de la aplicación: C:\xampp\htdocs\prueba
Directorio de las librerías: C:\xampp\htdocs\prueba\library\Zend

application.ini
Cita:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
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

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
http://localhost/prueba/public/index.php
Código 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';

// Create application, bootstrap, and run
$application = new Zend_Application(
    
APPLICATION_ENV,
    
APPLICATION_PATH '/configs/application.ini'
);
$application->bootstrap()
            ->
run(); 
include_path
.;C:\xampp\php\PEAR\Zend\library;C:\xampp\php\pear \

Nota:
No me gustaría tener que modificar el include_path en el php.ini, porque no me gustaría tener problemas al momento de migrar a un host compartido.

Agradezco Su colaboración y disculpas por la molestia, porque seguramente el error es por algún descuido que he tenido.
  #2 (permalink)  
Antiguo 28/03/2011, 12:19
Avatar de 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: Fatal error: Class 'Zend_Form' not found in...

Que tal mckfly,

el include_path es correcto ? C:\xampp\php\PEAR\Zend\library bajo esta carpeta tenes otra que dice Zend ?, sino es asi el library esta de mas y deberia ser C:\xampp\php\PEAR\Zend, y otro comentario porque y como estas cargando los forms de application\formularios ? deberian estar bajo application\forms

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 28/03/2011, 14:05
Avatar de mckfly  
Fecha de Ingreso: marzo-2011
Ubicación: Colombia
Mensajes: 3
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Fatal error: Class 'Zend_Form' not found in...

Buenas tardes

Gracias por responder tan rápidamente masterpuppet. En respuestas a tus preguntas añado que los valores que he mostrado para el include_path los he tomado del phpinfo(). En cuanto a la pregunta sobre las librerías, comento que sí, hay otra carpeta llamada Zend dentro de library. Por otro lado, ya he cambiado application/formularios a applications/forms y acontinuación expongo el código utilizado en ese archivo.

Código PHP:
<?php
class AgregarUsuariosForm extends Zend_Form
{
    public function 
init()
    {
        
//Control para el cuadro de texto correspondiente al nick del usuario
        
$nombreUsuario $this->createElement('text''nombreUsuario');
        
$nombreUsuario->setLabel('Escriba el nombre de usuario (nick)');
        
$nombreUsuario->setRequired(TRUE);
        
$nombreUsuario->setAttrib('size'30);
        
$this->addElement($nombreUsuario);

        
//Control para el cuadro de texto correspondiente al nombre del usuario
        
$nombre $this->createElement('text''nombre');
        
$nombre->setLabel('Escriba el nombre de usuario');
        
$nombre->setRequired(TRUE);
        
$nombre->setAttrib('size'30);
        
$this->addElement($nombre);

        
$this->addElement('submit','submit', array('label'=>'Aceptar'));
    }
}
?>
También me aparece un error de este tipo cuando navego hasta http://localhost/prueba/application/controllers/IndexController.php o cualquier archivo que contenga una clase que herede de Zend... por ejemplo.

Agradezco la ayuda que me pudieran proporcionar, dado que he tratado infructuosamente de solucionar este inconveniente sin modificar el php.ini, para notener inconvenientes si en algún momento trato de migrar a un host compartido.
  #4 (permalink)  
Antiguo 28/03/2011, 16:05
Avatar de 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: Fatal error: Class 'Zend_Form' not found in...

A ver, la clase del formulario deberia ser Application_Form_AgregarUsuarios, el fichero estar bajo application/forms y llamarse AgregarUsuarios.php, luego como accedes a ese controller ?, porque si se ejecuta el dispatch es porque el autoloader puede cargar las clases de Zend, te sugiero que leas este material http://akrabat.com/zend-framework-tutorial/, para que puedas crear una aplicación basica correctamente.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 06/04/2011, 08:13
Avatar de mckfly  
Fecha de Ingreso: marzo-2011
Ubicación: Colombia
Mensajes: 3
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Fatal error: Class 'Zend_Form' not found in...

Buenos días.

Muchas gracias masterpuppet, he revisado e implementado el tutorial que me sugeriste y todo funciona muy bien.. ya me estaba haciendo un ocho, porque lo que practicaba me funcionaba en linux, pero a la hora de usarlo en windows no, por ello decidí instalar y configurar todo por separado (apache, php y mysql). Aún sigo prácticando y aportaré las nuevas sugerencias si hay lugar.

Viejo, te mando un abrazo y te agradezco por la ayuda.

Etiquetas: framework, frameworks-y-php-orientado-a-objetos, php, poo
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 18:18.