IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Autoloader : impossible de charger mon formulaire [ZF 1.9]


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Autoloader : impossible de charger mon formulaire
    Bonjour,

    Je débute dans l'utilisation de ZF. J'ai créé mon application grâce à ZF_Tool, ainsi que mes contrôleurs et actions. J'ai ensuite modifié tout ça, intégré mon layout... Tout ça marche bien.

    Par contre ça se gâte quand j'essaie d'intégrer mon formulaire, défini dans le fichier /application/forms/FormContact.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <?php
     
    class FormContact extends Zend_Form {
      public function __contruct($options = null) {
        parent::__contruct($options);
        $this->setName("contact");
     
        $name = new Zend_Form_Element_Text("name");
        $name->setLabel("Nom")
          ->setrequired(true)
          ->addFilter("StripTags")
          ->addFilter("StringTrim")
          ->addValidator("NotEmpty");
     
        $email = new Zend_Form_Element_Text("email");
        $email->setLabel("Adresse e-mail")
          ->setrequired(true)
          ->addFilter("StripTags")
          ->addFilter("StringTrim")
          ->addValidator("NotEmpty")
          ->addValidator("EmailAdress");
     
        $message = new Zend_Form_Element_Textarea("message");
        $message->setLabel("Votre message")
          ->setrequired(true)
          ->addFilter("StripTags")
          ->addFilter("StringTrim")
          ->addValidator("NotEmpty");
     
        $submit = new Zend_Form_Element_Submit("submit");
        $submit->setAttrib("id", "submitbutton")
          ->setLabel("Envoyer");
     
        $this->addElements(array($name, $email, $message, $submit)
      }
    }
    Et quand j'essaie de l'instancier dans mon contrôleur, j'obtiens une page blanche (même pas un message d'erreur).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      public function indexAction()
      {
        $this->view->title = "Nous contacter";
     
        $form = new FormContact(); // CA PLANTE ICI
        $this->view->form = $form;
      }
    Voici les fichiers importants de mon application :

    application.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    [production]
    phpSettings.display_startup_errors = 0
    phpSettings.display_errors = 0
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
    resources.view[] = 
    resources.db.adapter = PDO_MYSQL
    resources.db.params.host = localhost
    resources.db.params.username = *****
    resources.db.params.password = *****
    resources.db.params.dbname = *****
     
    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.db.adapter = PDO_MYSQL
    resources.db.params.host = localhost
    resources.db.params.username = *****
    resources.db.params.password = *****
    resources.db.params.dbname = *****
    Bootstrap.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <?php
     
    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
      /**
      * Activate session handling.
      */
      protected function _initSession() {
        Zend_Session::start();
        Zend_Session::setOptions(array('strict'=>'on'));
      }
     
      /**
      * Activate autoload and defines namespaces.
      */
      protected function _initAutoload() {
        $moduleLoader = new Zend_Application_Module_Autoloader(array(
          'namespace' => '',
          'basePath' => APPLICATION_PATH));
     
        return $moduleLoader;
      }
     
      /**
      * Load configuration file 
      */
      protected function _initConfig() {
        $registry = Zend_Registry::getInstance();
     
        // load config sci.ini
        if (! $registry->isRegistered('sci')) {
          $sci = new Zend_Config_Ini(APPLICATION_PATH.'/configs/sci.ini', APPLICATION_ENV);
          $registry->set('sci', $sci);
        }
      }
    }
    J'avoue que autant la structure présentée dans le tuto d'introduction (mais qui date de la version 1.5) était claire pour moi, autant Zend_Application ne l'est pas

    Merci d'avance à celui (ou ceux) qui m'aideront à y voir plus clair ici...

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    Et donc dan ton fichier index.phtml , tu fais bien ceci


  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui tout à fait, mais d'après ce que j'ai pu voir en rajoutant quelques sorties texte, ça plante avant d'arriver au chargement de la vue. Ça plante en fait à l'instanciation de l'objet FormContact.

  4. #4
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Par défaut
    Bonjour,

    est-ce qu'il ne faudrait pas déclarer ton formulaire comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Form_Contact extends Zend_Form
    voir §III-B-2 de http://julien-pauli.developpez.com/t...d-application/

  5. #5
    Invité
    Invité(e)
    Par défaut
    Si je comprends bien, mon fichier devrait donc être dans application/Form/Contact.php, et je devrais ajouter un namespace Form ?

  6. #6
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Par défaut
    non, en fait par défaut le namespace Form est chargé, et son path c'est application/forms (d'après ce que j'ai compris, je suis pas encore trop fortiche en Zend )
    il faut donc que tu appelles ta classe comme j'ai dit i.e
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Form_Contact extends Zend_Form
    et cette classe doit être dans application/forms/Contact.php

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Impossible de charger un formulaire
    Par charlesjasho dans le forum Visual Studio
    Réponses: 4
    Dernier message: 22/11/2017, 12h35
  2. [Crystal Report] Impossible de charger mon dataset
    Par koyot3 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 13/01/2009, 10h16
  3. C#impossible de fermer mon formulaire.
    Par hotsizzle dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/10/2008, 13h11
  4. [VBA-A]impossible de revoir mon formulaire masqué!
    Par eultartuffe dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/04/2006, 13h35
  5. Réponses: 19
    Dernier message: 09/09/2005, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo