Aller au menu - Aller au contenu

Icône Votre site PHP (presque) complet : architecture MVC et bonnes pratiques

Mise à jour : 13/01/2009
Difficulté : Intermédiaire Intermédiaire Creative Commons BY-NC-SA
2 038 visites depuis 7 jours, classé 67/786
Envie de progresser en PHP ?
Envie d'apprendre et de mettre en pratique une architecture MVC à travers la réalisation de différents modules* ?
De connaître des bonnes pratiques et avoir un code sécurisé ?

Tels sont les objectifs de ce tutoriel, alors bienvenue, et j'espère que le voyage vous plaira !

* Des exemples de modules sont : un espace membre, un livre d'or, une gestion de news, un album photo, un forum, etc. (la liste est longue !). À noter que ces exemples ne seront pas tous traités dans le tutoriel, ça serait beaucoup trop long !

Mes remerciements chaleureux à mes bêta-testeurs tarzoune, mrjay42, 11 et yøshï pour leurs commentaires et suggestions. Un remerciement particulier à `Haku, ex-membre impliqué et auteur de la majeure partie du chapitre "Bonnes pratiques à appliquer".
Je remercie également ptipilou pour la correction de ce tutoriel, ainsi que Zopieux qui l'a validé. ;)

Historique du tutoriel



13 janvier 2009 : deuxième validation avec corrections de nombreux bugs et ajout de la connexion automatique. Les fonctions combinaison_connexion_valide() et lire_infos_utilisateur() ont été mises à jour, pensez à les modifier !
7 janvier 2009 : première validation contenant toute l'introduction (avant-tutoriel), l'espace membre (inscription, (dé)connexion) et le profil (affichage, modification).
21 décembre 2008 : envoi à la zCorrection.
décembre 2008 : relectures et bêta-test.
novembre 2008 : rédaction du tutoriel.
Ce cours est composé des parties suivantes :
Un problème, une question ? J'ai mis en place un topic dédié au tutoriel dans le forum PHP, n'hésitez pas à y faire un tour.
Vous pouvez également m'envoyer un MP pour les demandes particulières.

Partager

81 commentaires pour "Votre site PHP (presque) complet : architecture MVC et bonnes pratiques"
Note moyenne : 3.22 / 4 (95 votes)
Pseudo Commentaire
Hors ligne PhpLearning # Posté le 25/07/2011 à 15:39:34

Très bon tuto, deux idées :
- Finir le tuto
- Rajouter un formulaire de captcha à ta class form

A+
encore bravo mais à finir
Hors ligne tahanawal # Posté le 03/12/2011 à 11:53:39

Bonjour, je veux créer un site à l’aide du form de savageman. Lorsque je veux modifier un article je récupère l'id de la clé étrangère et je veux que cela soit la valeur « selected » parmis l’ensemble de valeurs sur une liste de valeur. Je fais comme cela
$form_modif_section->add('Select', 'ordre_section') ->choices(array(
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
'6' => '6',
'7' => '7 selected="selected"',
'8' => '8',
'9' => '9',
'10' => '10'
))
->label("Ordre de la section");
Mais je reçois comme résultat parmi les valeurs "7 selected="selected"" moi je veux juste que 7 soit sélectionné.
Hors ligne Stakhanov # Posté le 07/02/2012 à 15:24:12
\m/
Avatar

Études : Université Paul Sabatier Toulouse

Très bon tuto.
Quelques soucis persistent à cause de la config de PHP (ouh la sale bête) notamment au niveau des guillemets magiques et de l'encodage.
A ce propos, en testant le modèle avec du contenu statique (base de données mysql) j'ai rencontré un problème d'encodage (les accents ne s'affichaient pas) plutôt que de blinder le code de
Code : PHP
1
utf8_encode($foo); // utf8_decode($bar);

on peut ajouter
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")

au fichier pdo2.php

(ligne 25 -> self::$_instance = new PDO(SQL_DSN, SQL_USERNAME, SQL_PASSWORD,...) devient
Code : PHP
1
self::$_instance = new PDO(SQL_DSN, SQL_USERNAME, SQL_PASSWORD,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));


http://www.php.net/manual/fr/ref.pdo-mysql.php#90444

Ne pas oublier de passer la base de données et les tables en utf8_bin ou utf8_general_ci

( http://programmation-web.net/2010/11/c [...] mes-daccents/ )

"If anything can go wrong, it will."
 
Hors ligne khadijasup # Posté le 30/03/2012 à 13:04:46

bonjour,
j'utilise votre classe form.php pour créer les formulaire de mon site.
j'ai un seul souci c'est que j'ai un champ Prix dont on doit vérifier le contenu si c'est vraiment un entier valide ou non.Je me demande si je dois écrire le code de vérification ou c'est déjà fait quelque part dans la classe 'Form_Text'??
Merci d'avance.
Hors ligne willkoua # Posté le 15/05/2012 à 12:30:55
Avatar

bonjour a tpous je suis en train d'assayer de faire ce tuto et je rencontre pas mal de pb
d'hab je sur la page inscription je rencontre une

Voir tous les commentaires