Bon en fait personnellement au début je pensais que c'était pas propre.
Mais finalement ça marche bien si tu documentes les choses correctement...
Bon en fait je suis en train de repenser une application et avoir un pmo qui agis au niveau record ça me serait assez pratique.
A savoir ton controleur est a initialiser une fois au début.
(il se charge de se mettre en global et compagnie)
Après tu ne fait plus qu'appel a :
$record = record::singleton('table');
Ton singleton va faire ça :
- public static singleton($table, $id = null)
- récupération du controleur si existant, instanciation d'un nouveau au besoin
- créer l'objet avec les attributs et valeurs par défaut de la table
- retourner l'enregistrement
Après il n'y a plus qu'a faire joujou avec.
Par contre tout ce qui est dérivation de l'objet est a mon avis pas un problème avec les magiques.
Pour la bonne et simple raison que l'objet dérivé devra simplement veiller a appeller parent->magique() avant de faire son code a lui.
Ainsi ça marche au poil.
Après il y aurait plusieurs classe a faire :
- controleur
- record
- liste de record
Et bien sur tu te débrouille pour placer les objets dans une table de hashage du controler pour qu'il renvoie l'objet précédent si on a un couple table+id identique...
[^] # Re: Mmmm, voyons voir...
Posté par Raphaël G. (site web personnel) . En réponse au journal PMO v 0.07 déjà. Évalué à 2.
Mais finalement ça marche bien si tu documentes les choses correctement...
Bon en fait je suis en train de repenser une application et avoir un pmo qui agis au niveau record ça me serait assez pratique.
A savoir ton controleur est a initialiser une fois au début.
(il se charge de se mettre en global et compagnie)
Après tu ne fait plus qu'appel a :
$record = record::singleton('table');
Ton singleton va faire ça :
- public static singleton($table, $id = null)
- récupération du controleur si existant, instanciation d'un nouveau au besoin
- créer l'objet avec les attributs et valeurs par défaut de la table
- retourner l'enregistrement
Après il n'y a plus qu'a faire joujou avec.
Par contre tout ce qui est dérivation de l'objet est a mon avis pas un problème avec les magiques.
Pour la bonne et simple raison que l'objet dérivé devra simplement veiller a appeller parent->magique() avant de faire son code a lui.
Ainsi ça marche au poil.
Après il y aurait plusieurs classe a faire :
- controleur
- record
- liste de record
Et bien sur tu te débrouille pour placer les objets dans une table de hashage du controler pour qu'il renvoie l'objet précédent si on a un couple table+id identique...