mailRe: [Galette-discussion] Question de débutante : uti liser les classes et Zend DB


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Mélissa Djebel on September 24, 2011 - 09:33:
Bonjour,

Le 23/09/2011 18:34, Johan Cwiklinski a écrit :

Ça va vous changer un peu ! ;)

En fait, je viens du C#/.Net, donc ça me change beaucoup le PHP Objet. Ma 1ère difficulté a été de trouver un éditeur PHP avancé, mais j'ai trouvé NetBeans et j'en suis pour l'instant assez content. Il supporte même le debug, c'est pas top, mais ça marche bien quand même.

C'est une question vaste, pas facile d'y répondre précisément...
Je pense qu'une idée serait de prendre le code d'une classe existante
assez simple (soit dans Galette, soit dans les plugins Auto ou Paypal),

Oui, j'ai pris le plugin Auto et il m'a bien aidé pour débuter et avoir ma 1ère page affichée, les require_once au bon endroit, etc.

//les champs désactivés (les mêmes que sur self_adherent) - optionnel (à
priori)
$inactifs  = $a->disabled_fields + $a->edit_disabled_fields;

Là, j'ai été obligée de faire un $inactif = array(); car sinon les bonnes valeurs passées n'étaient pas stockées (justement les valeurs que l'utilisateur n'a pas le droit de changer). Sauf que j'initialise ou créé un utilisateur, donc j'ai besoin de pouvoir les écrire.

$ok = $member->check($valeurs, $requis, $inactifs);

Je l'aurais jamais trouvé cette méthode!
J'ai l'habitude du C# où l'on a des propriétés publiques avec des champs privés:
private int id_adh;
public int AdherentId{
        get{ return id_adh; }
        set{ id_adh = value; }
}
On peut affecter des valeurs à un objet, finir avec objet->store() et les valeurs affectées sont stockées en base comme on s'y attend. Avec adherent, ce n'est pas le cas, si on affecte des valeurs à ce qu'on suppose être les variables, il se passe rien, ça reste vide :-(

Bref, je n'arrivai pas à comprendre quelles variables étaient utilisées dans l'application et quelles variables étaient utilisées par Zend DB pour faire les insert/update.

//si tout est OK, on peut enregistrer dans la base
if ( $ok === true ) {
     $member->store();
}

J'ai enfin réussi tard hier soir à faire mon insert depuis mon import. Il me manque juste un p'tit problème : les accents ! Ah! Ah! Ah! Les bons vieux problèmes d'encodage d'accents !

J'ai un "é" dans la base, et ça me donne "�" à l'écran !

Le système de plugins tel qu'il est implémenté actuellement reste très
rudimentaire ; je me suis cantonné à implémenter des fonctionnalités
complètement annexes, rien encore qui modifie ou étende la fiche adhérent.

Exact, dans notre cas, on aurait besoin de pouvoir dire si un champ est modifiable ou non par l'utilisateur. Par exemple, le login ne devrait pas pouvoir être modifiable, le reste pourquoi pas, mais le login non. Si on pouvait ajouter la fonctionnalité à l'admin de choisir quels champs sont modifiables ou non, ça serait cool ;)

En espérant que ça aide un peu :-)

Ben oui, j'aurai jamais trouvé la bonne méthode au milieu pour stocker mon adherent, maintenant c'est fait, je vais pouvoir faire la même chose avec le complément spécifique.

Merci,

Mélissa



Related Messages


Powered by MHonArc, Updated Sat Sep 24 10:40:14 2011