Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-08-2007 16:12:57

thomas
Membre
Lieu: Caen
Date d'inscription: 15-04-2007
Messages: 47
Site web

En attendant Zend_Form

Bonjour à tous,

Je suis de ceux qui attendent Zend_Form avec impatience ; ça me serait très utile pour un projet perso que je passe en ZF, et pour lequel j'utilise un système de gestion des formulaires assez complet mais pas des plus stables...
Bref, j'aimerais faire confiance à l'équipe ZF pour fournir un composant de qualité, mais il semble qu'il faille attendre 1 à 2 mois minimum...

Ma question : que me conseillez vous en attendant ? Je cherche quelquechose de suffisamment simple pour pouvoir basculer rapidement plus tard sur Zend_Form, mais qui gère si possible la validation côté serveur...

Par exemple, faites vous un usage poussé des view_helpers de formulaire ?

Merci par avance,


Thomas

Hors ligne

 

#2 19-08-2007 18:30:19

mbariou
Membre
Lieu: Palaiseau France
Date d'inscription: 09-06-2007
Messages: 40
Site web

Re: En attendant Zend_Form

Bonjour
Sur phpclasses.org, Johan Barbier à déposé dans la rubrique PHP5 une classe de formulaires, non utilisable pour des applications commerciales, mais que tu peux retravailler ou t'en inspirer et qui intègre les contrôles coté serveur,

Elle est simple à mettre en oeuvre dans le cadriciel Zend. J'ai fait un tuto complet de CRUD qui l'utilise. Je le publierai sur mon site Mercredi, car il faut que je finalise. Mais pour Usage commercial il faut réécrire ou demander à Johan Barbier, son emel est accessible.

Voit ce lien => http://www.phpclasses.org/browse/author/312283.html#F

Marcel

Hors ligne

 

#3 19-08-2007 20:19:01

thomas
Membre
Lieu: Caen
Date d'inscription: 15-04-2007
Messages: 47
Site web

Re: En attendant Zend_Form

Merci marcel, je vais étudier cette classe... J'ai hâte de voir ton tutoriel également !


Thomas

Hors ligne

 

#4 19-08-2007 20:57:02

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: En attendant Zend_Form

Pour info il y aussi Jurriën Stutterheim qui a fait un  "Component Proposal" pour Zend_Form
http://framework.zend.com/wiki/pages/vi … geId=36061

Les sources sont accessible ici http://tools.assembla.com/svn/zfcomponents/

Mais je n'ai pas encore eu le temps de faire un essai alors je ne peux pas t'en dire plus.

Dernière modification par 2mx (19-08-2007 20:58:47)

Hors ligne

 

#5 19-08-2007 23:14:26

thomas
Membre
Lieu: Caen
Date d'inscription: 15-04-2007
Messages: 47
Site web

Re: En attendant Zend_Form

Ouaip, c'est une solution, mais il serait plus intéressant de connaître le choix final (il y a deux propositions en "compétition")...


Thomas

Hors ligne

 

#6 20-08-2007 09:59:07

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: En attendant Zend_Form

Je fais tout mes formulaires dans un fichier de vue "form.php".
Code xhtml directement, avec quelques tests ou boucles par endroit au besoin.


Société : Direct Info Service

Hors ligne

 

#7 28-08-2007 20:02:57

Malalam
Nouveau membre
Date d'inscription: 28-08-2007
Messages: 2

Re: En attendant Zend_Form

Hello,

@mbariou > merci pour la pub et les compliments indirects, ça fait plaisir :-)
@thomas > je mets tjrs la même "licence" sur mes codes. sachant que je vais m'orienter vers quelque chose de pus compréhensible : LGPL.
Donc, tu peux considérer que ma classe sur le traitement des données utilisateurs (formchecker) publiée sur phpclasse.org entre autres (et phpcs.com, un peu de pub pour un site que j'admlinistre quand même) tombe sous le coup de cette licence.
A savoir que tu peux l'utiliser, tout en conservant mes références évidemment, et en me tenant au courant -stp- de ce que tu en fais.
Il faut aussi savoir que je suis entrain de la modifier en profondeur, et de lui ajouter des fonctionnalités : un vrai support des données numériques de type integer, float et cie, et une refonte mineure du code.
Donc si tu as des questions, ou des demandes, n'hésites pas.

Johan

Hors ligne

 

#8 29-08-2007 07:47:53

mbariou
Membre
Lieu: Palaiseau France
Date d'inscription: 09-06-2007
Messages: 40
Site web

Re: En attendant Zend_Form

@Johan [Malalam] Bonjour et aux autres aussi,

J'ai effectivement découvert votre classe form. Mais étant donné que vous sembliez ne pas autoriser son usage dans des projets industriels ou commerciaux, je l'ai mise de côté et je continue sur une extension de la classe OOform héritée de la PHPLIB que j'adapte au coup par coup au PHP5. Par certains aspects ça ressemble à la vôtre bien entendu. Je vous avais adressé un mail perso, pour obtenir votre autorisation d'usage, mais j'en ai pas eu d'écho de votre part..... donc suspension de ma part

La vôtre avait à mes yeux l'avantage de m'obliger à une remise à zéro générale et de repartir sur une base plus saine, car je me détachais de mes bricolages passés (Tjrs difficile de se remettre en cause). Ceci d'autant plus que je prépare un générateur automatique de la classe "modèle : mapping table/Classe" du Zend Framework, c'est à dire  la classe étendant Zend_Db_Table (ex.: class tGroup extends Zend_Db_Table), et à laquelle j'y ajoute un Datagrid, pour gérer tous les modèles de table. Derrière pour le view/renderer je n'utilise pas celui du Zend Framework mais je reprends le regex_Template de Pear hérité de la PHPLIB et compatible PHP5, que j'intègre dans le View de Zend. Comme je travaille un peu dans l'urgence je n'ai pas approfondi le viewer/renderer de Zend.

Maintenant si c'est possible de reprendre vos classes sous LGPL, je suis ravi et je ne demande qu'à travailler avec vous sur ces sujets pour enrichir et utiliser.... Par ailleurs les travaux que j'ai conduits de mon côté sur ZF , il faut que je finisse le tuto et que je les mette à disposition...

Merci de donner une suite au présent message et de confirmer ce passage au LGPL... Vous pouvez me contacter sur mon mail perso aussi.

Marcel

Dernière modification par mbariou (29-08-2007 07:51:10)

Hors ligne

 

#9 29-08-2007 13:51:40

Malalam
Nouveau membre
Date d'inscription: 28-08-2007
Messages: 2

Re: En attendant Zend_Form

Bonjour Marcel,

j'ai bien eu votre email sur ma boîte hotmail. J'y ai répondu (un peu tard parce que j'étais en vacances) la semaine dernière, donc il est étrange que vous n'ayiez rien reçu.
Je disais dans cet email peu ou prou la même chose que dans mon message précédent sur ce forum.
Je confirme donc le passage en LGPL de ma classe, et de tous mes autres travaux au passage publié sur tel ou tel site, au passage.

Johan

Hors ligne

 

#10 03-09-2007 22:27:41

thomas
Membre
Lieu: Caen
Date d'inscription: 15-04-2007
Messages: 47
Site web

Re: En attendant Zend_Form

Bonjour,

Merci Johan, j'ai parcouru tes sources avec beaucoup d'intérêt (sincèrement), et j'ai pioché quelques idées par-ci par-là.
Comme tout bon geek qui se respecte, je n'ai malheureusement pas pu m'empêcher de créer mon propre package, par défi, un peu, mais aussi parce que c'est une problématique que je commence à bien cerner (en ce qui concerne mes propres besoins récurrents, en tous cas).

-> mon interprétation du problème est disponible ici : http://formol.oeilduwake.com

Formol, c'est son petit nom, est également distribué sous LGPL.

A+


Thomas

Hors ligne

 

#11 19-12-2007 10:05:52

allfab
Membre
Date d'inscription: 02-10-2007
Messages: 40

Re: En attendant Zend_Form

Salut Thomas,

J'essai de mettre en place un formulaire d'inscription avec formol et d'activer le plugin fValidator mais j'ai un soucis au niveau de ce dernier, je n'arrive pas à le faire fonctionner.

Dans firebug, j'ai cette erreur :

Code:

this.form has no properties
this.fields = this.form.getElements("*[class^=fValidate]");

N'étant pas un as de js, aurais tu une solution ?
As tu des exemples d'utilisation de formulaire avec ce plugin ?

Sinon très bon travail !!
Félicitations

Hors ligne

 

#12 20-12-2007 10:40:04

allfab
Membre
Date d'inscription: 02-10-2007
Messages: 40

Re: En attendant Zend_Form

Bonjour,

Je reviens sur mon problème qui a un peu évolué depuis hier !
L'activation du plugin est passé derrière un autre problème que je rencontre depuis hier.

J'ai un soucis au niveau de la validation du formulaire - je m'explique !

Voici le code que j'utilise pour mes tests :

Code:

<?php
//PARAMETRAGE QUE JE VOUS ÉPARGNE POUR ALEGER LE CODE !!

//DEFINITION DES REPERTOIRES D'INCLUSION
set_include_path(
  MODEL_DIR.PATH_SEPARATOR.
  LIB_DIR.PATH_SEPARATOR.
  get_include_path()
);

require('Zend/Loader.php');
Zend_Loader::loadClass('Zend_Debug');
//SESSIONS QUE JE DESACTIVE VOLONTAIREMENT SINON CA NE MARCHE PAS
//Zend_Loader::loadClass('Zend_Session');
//Zend_Session::start();

//CHARGEMENT DE LA CLASSE FORMOL
Zend_Loader::loadFile('Form.class.php', 'formol/formol');

// Interception des exceptions
try {
    // Démarrage de la session
    session_start();
    // Chargement du formulaire en session
    if ($form = Form::load($_SESSION, $_POST)) {
        if ( $form->validate() ) {
            /* Traitements  */
            Form::free($_SESSION);
            /* Redirection */
        }
    } else {
        $form = Form::loadFromFile('monformulaire.xml');
        $form->action = '/form.tpl.php';
        Form::save($_SESSION);
    }
        // Civilité
        $civilite = array(    'homme' => 'Monsieur',
                                        'femme' => 'Madame - Mademoiselle',
                                );
        //Role
        $role = array(    'default'=> 'Choisir une option...',
                                    'Invite' => 'Invit&eacute;',
                                    'Membre' => 'Membre',
                                    'Editeur' => 'Edtiteur',
                                    'Administrateur' => 'Administrateur',
                            ); 
        //Service
        $service = array('default'=> 'Choisir une option...',
                                    'Acc'    =>'Accueil',
                                    'Anim'    =>'Animation',
                                    'Arch'    =>'Arche du 27',
                                    'Archeo'=> 'Arch&eacute;ologie');
 
} catch(FormException $e) {
    echo $e->display();
}
?>

<?php echo $form->header(); ?>
<table width="100%" border="1" cellspacing="2px">
    <tr>
        <td colspan="3">
        <?php
        //echo $this->errors;
        Zend_Debug::Dump($form->errors, '$this->form->errors', true);
            foreach ($form->errors as $error) {
                echo "<p style=\"color: #000000;\"><strong>Erreur : $error</strong></p>";
            }
        ?>
        </td>
    </tr>
    <tr>
        <td colspan="3">Informations G&eacute;n&eacute;rales</td>
    </tr>
    <tr>
        <td width="130px" height="130px" rowspan="8"><img src="<?php //echo $this->escape($this->baseUrl); ?>/www/themes/default/images/users/user_male.png" alt="Utilisateur" width="128px" height="128px" /></td>
        <td width="25%"><label>Civilit&eacute;*</label></td>
        <td><?php echo $form->civilite->render(array("options"=>$civilite, "sep"=>"\n"))."<br />\n"; ?></td>
    </tr>
    <tr>
        <td><label>Pr&eacute;nom*</label></td>
        <td><?php echo $form->prenom; ?></td>
    </tr>
    <tr>
        <td><label>Nom*</label></td>
        <td><?php echo $form->nom; ?></td>
    </tr>
    <tr>
        <td><label>Pseudo*</label></td>
        <td><?php echo $form->username; ?></td>
    </tr>
    <tr>
        <td><label>Mot de passe*</label></td>
        <td><?php echo $form->pswd; ?></td>
    </tr>
    <tr>
        <td><label>Confirmation du mot de passe*</label></td>
        <td><?php echo $form->cpassword; ?></td>
    </tr>
    <tr>
        <td><label>Email*</label></td>
        <td><?php echo $form->email; ?></td>
    </tr>
    <tr>
        <td><label>Confirmation de l'email*</label></td>
        <td><?php echo $form->cemail; ?></td>
    </tr>
</table>
<table width="100%" border="1" cellspacing="2px">
    <tfoot>
        <tr>
            <td colspan="3" align="right"><?php echo $form->valid; ?></td>
        </tr>
    </tfoot>
    <tr>
        <td colspan="3">Administration des droits de l'utilisateur</td>
    </tr>
    <tr>
        <td width="130px" height="130px" rowspan="2"><img src="<?php //echo $this->escape($this->baseUrl); ?>/www/themes/default/images/users/userconfig.png" alt="Utilisateur Droits" width="128px" height="128px" /></td>
        <td width="25%"><label>R&ocirc;le*</label></td>
        <td><?php echo $form->role->render(array('options'=>$role)); ?></td>
    </tr>
    <tr>
        <td><label>Service au sein de la mairie*</label></td>
        <td><?php echo $form->service->render(array('options'=>$service)); ?></td>
    </tr>
</table>
</form>

Dans cette configuration, la validation du formulaire marche bien !!

Par contre, si j'active les sessions Zend et commente "session_start();", la validation ne fonctionne plus. Je pense que ça vient des sessions zend mais je ne suis pas assez calé pour résoudre le problème.

De plus, je ne peux pas utiliser session_start(); puisque je déclare mes sessions Zend dans mon bootstrap me servant à stocker mes données de l'utilisateur connecté !

Si quelqu'un voit une solution, je suis preneur.

Bonne journée
Allfab

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