PHP -Расширение класса

Я написал много-много кода на PHP, ориентированного на объект -, но до сих пор все мои классы были «единственными», я полагаю, вы можете это назвать. Я нахожусь в процессе изменения нескольких классов (, которые имеют 5 или около того идентичных методов ), чтобы расширить один класс (, чтобы избавиться от повторяющегося кода ). Я столкнулся с несколькими проблемами.

Я пытаюсь получить доступ к методу в родительском классе, но вы видите проблему.

Родительский класс:

 class DatabaseObject { 

     public static function find_all() {
        return self::find_by_sql("SELECT * FROM ". self::$table_name);
    }
}

Детский класс:

class Topics extends DatabaseObject {

    protected static $table_name = "master_cat";
    protected static $db_fields = array('cat_id', 'category');
    public $cat_id;
    public $category;

  }

Код, пытающийся получить доступ ко всей информации из этой таблицы из файла php/html:

$topics=Topics::find_all();

foreach($topics as $topic):
    echo $topic->category;
endforeach; 

Как видите, большая часть кода не была объединена с новым способом ведения дел. Мне нужно изменить имя self ::$table _, которое больше не работает по-новому. У меня будет около 5 классов, расширяющих этот объект, так что это лучший способ закодировать это, чтобы я мог получить доступ к разным таблицам с помощью одного метода (, а не включать этот точный метод поиска _все ()в 5 различных классах.

11
задан TheLettuceMaster 25 June 2012 в 17:55
поделиться