Ceci est probablement une réponse très simple - mais un petit conseil serait apprécié.Méthodes communes orientées objet: Interfaces, Abstract, ou autre chose
J'ai un petit système où tous mes objets utilisent les mêmes méthodes load() et loadMultiple(). Exactement le même code dans chaque. Très simple, exemple ci-dessous.
public static function load($id) {
// Instantiate the object
$object = new self($id);
return $object;
}
Le code exemple ci-dessus ne peut pas aller dans une interface évidemment, mais ne peut-il aller dans une classe abstraite comme je suis instanciation de l'objet (même dans la méthode loadMultiple).
Quelle est la solution la plus élégante à cela? Je prévois actuellement de créer une classe parente telle que:
class Object_Model {
public function load() {
// Code here
}
public function loadMultiple() {
// Code here
}
}
class Object1 extends Object_Model {
}
class Object2 extends Object_Model {
}
Mais je suis sûr qu'il doit y avoir un meilleur moyen. Y a-t-il?
Merci Peter. La liaison statique tardive semble parfaite. Mais je ne pense pas que nos serveurs le supporteront. Je comprends ce que vous et Ionut dites, mais il semble juste que ce soit un pas en arrière quand j'étais si proche de l'élégance 5.3 offre. – PJE