這可能是一個非常簡單的答案 - 但有些建議值得讚賞。面向對象的常見方法:接口,摘要或其他東西
我有一個小系統,我的所有對象都使用相同的load()和loadMultiple()方法。每個代碼都完全相同。非常簡單,下面的例子。
public static function load($id) {
// Instantiate the object
$object = new self($id);
return $object;
}
示例代碼以上不能在界面去很明顯,但也不能在它的抽象類去,因爲我實例化對象(在loadMultiple方法相同)。
什麼是最優雅的解決方案呢?我目前正在計劃創建一個父類,如:
class Object_Model {
public function load() {
// Code here
}
public function loadMultiple() {
// Code here
}
}
class Object1 extends Object_Model {
}
class Object2 extends Object_Model {
}
但是我確定必須有更好的方法。在那兒?
感謝彼得。 延遲靜態綁定看起來很完美。但我認爲我們的服務器不會支持它。 我明白你和Ionut在說什麼,但是當我非常接近優雅5.3所提供的時候,它就好像倒退了一步。 – PJE 2009-07-22 17:21:56