PHP - Extending Class PHP - Extending Class php php

PHP - Extending Class


You could try late static binding as mentioned below, or a singleton solution should work as well:

<?phpabstract class DatabaseObject {  private $table;  private $fields;  protected function __construct($table, $fields) {    $this->table = $table;    $this->fields = $fields;  }  public function find_all() {    return $this->find_by_sql('SELECT * FROM ' . $this->table);  }}class Topics extends DatabaseObject {  private static $instance;  public static function get_instance() {    if (!isset(self::$instance)) {      self::$instance = new Topics('master_cat', array('cat_id', 'category'));    }    return self::$instance;  }}Topics::get_instance()->find_all();


You should look into the concept of Late Static Binding in PHP. This allows you to access a static constant or function from the class that was called.