Pour les pseudo frames:
Chaque écran (au sens métier) de notre application est généré par un script php au nom bien déterminé et donc inclus dans le corps via cette méthode. Nous détectons le fichier à inclure via les variables passées par URL (module=répertoire et page=script php). Voilà pour le contexte.
c'est ce que j'utilise: des liens du type index.php?page=pathto/page
index.php va tester diverses choses:
- l'utilisateur est-il enregistré ?
- a-t-il les droits d'accès à pathto/page.php ?
- la session n'a-t-elle pas expiré ?
- ...
et va aussi préparer les données:
- récupérations des données de session (unserialize)
- includes des fichiers de base (config, SQL, moteur de template ...)
le reste de l'architecture:
- des dossiers js, images, css qui contiennent ces types de fichiers
- un dossier classe qui contient les classes
- un dossier template qui contient les templates / modeles html de pages
- un dossier pages qui contient le script qui va construire chaque page
Le script de la page fait en gros 3 choses:
- déterminer quel traitement il doit effectuer (des if dans tous les sens qui initialisent $traitement)
- effectuer le traitement (switch/case % $traitement: plus lisible que de tout mélanger avec le point précédent)
- afficher la page (écran) correspondante
Le codage objet n'est pas une perte de temps.
En gros dans une appli intranet tapant une DB, on a spécifiquement pour un formulaire:
- récupérer les données du formulaire
- tester la validité des valeurs
- enregistrer les données: insertion ou mise à jour
- initialisation des valeurs (SELECT en DB)
- suppression de données
et c'est quasi le même pour tous les écrans/scripts. mes classes font ces fonctions de base, quand il faut faire plus, elles font plus. Le code du
script utilise ces classes qui cachent le fonctionnement interne, - et cachent surtout beaucoup de lignes de code. ça rend le code + lisible qu'en procédural, plus court, plus simple à reprendre.
ex: on a ajouté un champ dans une table de la DB. ça veut dire une case en plus dans un formulaire. comment modifier ça?
- on va dans la classe, on modifie les 4-5 requetes en ajoutant ce champ
- on va dans le fichier template, on ajoute la case
- on va dans le script, on ajoute le parsing de la case dans la partie "afficher la page (écran)"
- parfois il y a des requetes qui se balladent dans le script, il faut aussi les vérifier
concretement on y gagne un max

il y a aussi moins de risques de tout casser car on travaille sur des parties relativement faiblement liées entre elles.
voilà voilà

convaincu?
A+
Pascal