avoir des avis sur ma programmation - PHP - Programmation
Marsh Posté le 30-07-2011 à 20:56:51
poste le directement ici, ce sera le plus simple
Marsh Posté le 30-07-2011 à 21:14:58
pas tres pratique. Ca va faire des pages et des pages. Je peux t'envoyer cet exemple en mp ?
Marsh Posté le 30-07-2011 à 21:17:37
en même temps tu as pas besoin de tout nous montrer, faut voir la façon dont tu indentes, dont tu nommes et gères tes variables, etc...
Marsh Posté le 30-07-2011 à 21:35:44
antac a écrit : en même temps tu as pas besoin de tout nous montrer, faut voir la façon dont tu indentes, dont tu nommes et gères tes variables, etc... |
bon ok, je me lance. Alors voici une page qui gère la creation d'enseignants. J'ai une page dans un réperteroire "controleur", une page dans un répertoire "vue" et un index.php qui appelle le bon contrôleur.
1) tout d'abord le controleur :
Code :
|
je vous l'avais dit, c'est verbeux....
Et la vue :
Code :
|
exemple de classe pour mettre à jour la bdd mysql :
Code :
|
Donc mes questions :
- ça vous parait correct ? et bien fait ?
- je contrôle tout ce qui arrive par le formulaire, même si la page html contrôle en amont avec son propre code js. N'est ce pas trop luxueux ? (cette partie est particulièrement verbeuse....)
- l'utilisation de fonction dans des classes pour mettre à jour la bdd : est ce la bonne méthode ?
Le tout fonctionne parfaitement.
Indulgence sivouplai, je débute dans ce langage. Je vous remercie d'avance de tous les commentaires que vous pourriez faire sur cet extrait. Comme j'ai pas mal de pages à faire dans ce style, je voulais avoir des avis avant de me lancer dans les autres pages.
DOminique
Marsh Posté le 31-07-2011 à 09:48:08
dans la requete sql, le auteur_maj me choque. L'auteur n'est-il pas déjà authentifié quand il mets à jour une personne. Dans ce cas c'est l'id de l'auteur que tu mets pas toutes ses informations.
Marsh Posté le 31-07-2011 à 17:47:49
Salut Gatsu35
l'auteur_maj : c'est bien l'id de la personne connectée qui est mémorisée en table. Peut être que le nom de colonne est mal choisi.
DOminique
Marsh Posté le 31-07-2011 à 20:05:04
domi_bu a écrit : Salut Gatsu35 l'auteur_maj : c'est bien l'id de la personne connectée qui est mémorisée en table. Peut être que le nom de colonne est mal choisi. DOminique |
Je suis une merde j'ai mal lu la requete. Pardon
Marsh Posté le 01-08-2011 à 16:50:24
Citation : Je précise que je ne connaissais pas grand chose à tous ces termes html, php , css il y a quelques semaines. |
Et tu utilises déjà des variables statics !
Et puis ça, je trouve ça sympa pour quelqu'un de débutant
Code :
|
Franchement c'est bien.
Marsh Posté le 01-08-2011 à 17:34:20
Après, personnellement, ce qui me gène un peu là dedans c'est de réécrire une variable globale, si pour une raison ou pour une autre, un autre de tes scripts exploite cette variable globale, et qu'elle a été altérée par ta méthode security::html, ça peut créer des effets de bord assez gênant...
Marsh Posté le 03-08-2011 à 21:24:08
bonsoir tout le monde
je me permets de relancer et plus particulièrement au sujet de la manière dont je fais l'insertion en base.
Actuellement j'utilise une fonction statique qui est déclarée dans la classe. Et j'appelle cette fonction en faisant un "personne::insert($personne)" avec un passage de paramètre.
Mais j'ai vu sur d'autres tuto que certains déclarent une méthode insertion dans la classe (classe "personne" par exemple) pour ensuite faire l'insertion par "$p->insertion()" où $p est un objet créé avec la même classe "personne".
On est d'accord : les 2 techniques fonctionnent et réalisent une insertion d'une ligne en base de données.
Mais y-a-t-il une méthode à privilégier ? et pourquoi ?
DOminique
Marsh Posté le 04-08-2011 à 10:12:42
La 2ème solution me paraît plus naturelle. T'as un objet en mémoire et à un moment donné, tu veux le stocker en base. De la même manière, cet objet peut être construit à partir d'infos filées en paramètres dans le constructeur ou chargé à partir d'infos en BD...
Marsh Posté le 04-08-2011 à 10:26:43
+1
il me semble que c'est a la charge des objets de savoir se sauvegarder.
Tout mes objets ont donc une méthode save qui se charge de faire l'insert ou l'update
Marsh Posté le 04-08-2011 à 10:43:16
flo850 a écrit : +1 |
Ca veut dire que l'objet sait comment est structurée la base ?
Quand tu parle de "tes objects", ce sont des classes complexes ou de simples classes qui ne contiennent de des infos ?
Marsh Posté le 04-08-2011 à 10:58:56
1/ oui ( tout du moins pour les objets pour lesquels ça à un sens , pas la session par exemple )
2/ c'est à dire ?
Marsh Posté le 04-08-2011 à 11:14:22
Ben en gros, si ce ne sont que de simples objets de données, une classe Animal par exemple. Je me vois mal lui faire connaitre la base de données
Ou alors cette classe représente une table de la base, et j'ai un "manager" qui gère de l'insérer, mais je me vois mal avoir ce code dans la classe (même s'il y a de l'héritage).
Je peux me tromper bien sur, si tu pouvais m'éclairer je suis preneur d'informations sur les bonnes pratiques du développement coté serveur
Marsh Posté le 04-08-2011 à 12:00:46
Tu peux très bien avoir une simple méthode "save" qui appelle une autre classe qui se connecte à la BD et qui elle, sait comment sauvegarder l'objet (par ex, en lui passant simplement, le nom de la table à remplir)...
Marsh Posté le 04-08-2011 à 12:02:24
Les deux approches sont valables.
Les objets peuvent être capables de se sauvegarder eux-même en base de données, dans des approches type active record (http://fr.wikipedia.org/wiki/Activ [...] onception))
Ou alors on a un manager qui manage justement les objets. Les deux approches se font et sont valables je pense.
Marsh Posté le 07-08-2011 à 18:51:34
et des méthodes statiques pour le manager ?
Code : |
Marsh Posté le 07-08-2011 à 20:23:10
C'est pas mieux d'utiliser un singleton ?
Marsh Posté le 30-07-2011 à 20:51:10
Bonjour
J'aimerai bien avoir des avis sur la manière dont je code.
Puis je envoyer à quelqu'un de bonne volonté une page "type" qui est représentative de la manière dont je programme. Je précise que je ne connaissais pas grand chose à tous ces termes html, php , css il y a quelques semaines. Donc c'est forcément truffé de choses pas belles.... mais vos avis m'intéresseraient.
Merci
Dominique