Dominique a écrit :
- J'aime bien les contrôleurs tels que tu les a fait
S'ils ne font pas gagner en ligne de code (MVC n'est pas fait pour ça), la lisibilité est bien meilleure
Alors il y a au moins un adepte ;-)
J'ai trifouillé le controlleur.php un peu rapidement pour faire ce dont j'avais besoin sur le moment, c'est sur le long terme que je verrais ce que je peux lui faire faire de plus.
Et voir si la manière de gérer les urls a un sens ou nous embrouille plus qu'autre chose.
- Je militerais pour la création d'un répertoire /includes qui contiendrait
config.php
config_privee.php
fonctions_autoconnexion.php
fonctions_bdd.php
fonctions_zip.php
Qui ne sont pas vraiment des modèles au sens MVC
Pas d'objections, bien que je n'y vois pas tant le gain rangement ni pourquoi fonctions_zip.php serait si différente de fonctions_nouvelles.php.
- Les modeles y gagneraient en clarté si on avait 1 fichier = 1 fonction de même nom
ça va t'en faire un paquet de fichiers, t'as vu le nombre de fonctions qu'on a ?
- Je suis un peu gêné par l'emploi systématique de stdClass
C'est un opérateur interne à PHP qui ne'est pas sensé être utilisé dans le code
La programmation objet, c'est pas ça :avocat:
Si on le fait pas, php renvoi un warning parce qu'il n'est pas content.
Il n'est pas tant ici question de programmer "objet" ce qui n'est pas le cas, les $vue $condition et $point ne sont en fait rien d'autre que des tableaux, on aurait tout aussi bien pu faire avec seulement des tableaux :
$vue['titre'] au lieu de $vue->titre
$point['altitude'] au lieu de $point->altitude
Historiquement, si j'ai choisi cette voie, c'est pour deux raisons :
- la première, c'est la flemme : l'écriture $point->altitude économise 2 caractères sur le tableau et un echo "l'altitude est $point->altitude (en mètres)"; est possible sans trop s'embêter avec les ' et les "
- la deuxième, tu vas rire, c'est que je n'ai jamais perdu de vue l'idée de pouvoir un jour le transformer en vrai objet et arriver à faire un jour un truc dans ce goût là :
Code : Tout sélectionner
$point = new point(45);
$point->nom="toto";
$point->enregistre();
$gpx=$point->export_gpx();
Dans les faits, j'en ai jamais vu le besoin pour l'instant et le code actuel fait ça :
Code : Tout sélectionner
$point = infos_point(45);
$point->nom="toto";
creation_modification($point);
$gpx=exportation($point,"gpx");
ce qui prend précisément le même nombre de ligne et offre les même flexibilités sur les besoins que j'ai identifié.
Mais on optant en interne pour ce format, je garde une porte plus facile à pousser qui est celle des objets.