Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-07-2009 11:47:17

itecman
Membre
Lieu: Orléans
Date d'inscription: 03-07-2009
Messages: 57

[Résolu][Zend_Form][1.8.4] Les PATH dans application.ini

Bonjour,

Toujours débutant sur ZF, pour mon application je veux juste faire un formulaire héritant de Zend_Form, que je place dans le dossier "forms" dans le dossier "application". Problème, dans mon contrôleur ou naturellement je veux utiliser ce formulaire, une erreur me sort ça :

Code:

Fatal error: Class 'Default_Form_Login' not found in /var/www/monappli/application/controllers/LoginController.php on line 76

et à cette ligne 76 je n'ai que ça :

Code:

.
.
$request = $this->getRequest();
$form    = new Default_Form_Login();
.
.

Alors on comprends direct que c'est une histoire de PATH pour accéder à ce dossier "forms", mais après avoir trainer sur le web pour trouver une solution ou un bon tuto explicant le moyen de bien configurer ses chemins, je n'ai rien trouvé qui marche, avec juste un "espoir" sur ce forum sur ce topic : http://www.z-f.fr/forum/viewtopic.php?id=3291

Déjà que je découvre les Formulaire sous Zend, si en plus des "soucis" de ce style viennent me bloquer une matinée, je suis mal...

Merci d'avance pour votre aide, lien vers un tutoriel ou autre.

--itecman

Dernière modification par itecman (15-07-2009 10:08:41)


-- itecman smile

ZF 1.8.4 - Zend Server CE

Hors ligne

 

#2 13-07-2009 12:01:33

aelyta1
Membre
Lieu: Rouen
Date d'inscription: 29-06-2009
Messages: 98

Re: [Résolu][Zend_Form][1.8.4] Les PATH dans application.ini

Est ce que ton controller est dans un module séparé ? peux tu nous présenter ton architecture, peut etre que le probleme vient de là. Et quel nom as tu donné a ton fichier de formulaire ?


veni, vidi, riendi
Vive les lapins-antilopes !

Hors ligne

 

#3 13-07-2009 13:10:24

itecman
Membre
Lieu: Orléans
Date d'inscription: 03-07-2009
Messages: 57

Re: [Résolu][Zend_Form][1.8.4] Les PATH dans application.ini

Merci pour ta réponse,

Donc voici mon architecture :

http://img198.imageshack.us/img198/1082/archizend.jpg

Pour le nom de mon fichier formulaire c'est : LoginForm.php (avec la méthode LoginForm()), sinon après différent tests et tutos sur internet j'ai renommé en Login.php avec une mathode Default_Form_Login().
Je n'utilise pas de module pour le moment, et j'ai juste un LoginController avec la mathode suivante qui coince à cause du path invalide :

Code:

public function signAction()
    {
        $request = $this->getRequest();
        $form    = new Default_Form_Login();

        if ($this->getRequest()->isPost()) {
            if ($form->isValid($request->getPost())) {
                $model = new Default_Form_Login($form->getValues());
                $model->save();
                return $this->_helper->redirector('index');
            }
        }
        
        var_dump($form);
        $this->view->form = $form;
    }

En fait je suis le "Quick Start" de la documentation de Zend Framework en ligne.

Merci d'avance smile


-- itecman smile

ZF 1.8.4 - Zend Server CE

Hors ligne

 

#4 13-07-2009 14:04:51

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: [Résolu][Zend_Form][1.8.4] Les PATH dans application.ini

Un formulaire qui porte le nom :

class Form_News_Add extends Zend_Form

S'intancie comme ça :

$form = new Form_News_Add();

Pourquoi parles-tu de méthode avec ton formulaire de login?


aka miboo

Hors ligne

 

#5 13-07-2009 14:25:11

itecman
Membre
Lieu: Orléans
Date d'inscription: 03-07-2009
Messages: 57

Re: [Résolu][Zend_Form][1.8.4] Les PATH dans application.ini

En effet, je me suis mal exprimé, je voulais plutôt dire "action" au lieu de méthode. Ceci dis mon problème semble plus général car il ne voit tout simplement pas le dossier "forms" donc les classes qui s'y trouvent. En lisant de la doc, je suis en train de voir Zend_Loader_Autoloader, et j'ai aussi compris que le système de chargement de classe avait bien changé sous la 1.8.x...

J'espère résoudre ce problème rapidement, c'est  la.


-- itecman smile

ZF 1.8.4 - Zend Server CE

Hors ligne

 

#6 15-07-2009 08:54:12

itecman
Membre
Lieu: Orléans
Date d'inscription: 03-07-2009
Messages: 57

Re: [Résolu][Zend_Form][1.8.4] Les PATH dans application.ini

Bonjour smile

Désolé de pas avoir mis à jour avant car la solution a été trouvée le jour même et en effet le rajout de la méthode suivante dans le bootstrap a suffit :

Code:

 protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => '',
            'basePath'  => dirname(__FILE__),
        ));
        return $autoloader;
    }

Maintenant dans n'importe quel endroit je peut déclarer mes objets formulaires. Par contre je ne comprends pas forcément pourquoi l'absence de namespace fait qu'il trouve mon répertoire forms et mes classes. Si quelqu'un pouvait éclair ce point svp...

Bonne journée smile

--itecman


-- itecman smile

ZF 1.8.4 - Zend Server CE

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages