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.