title: PHP - Extending Class
body: <p>I've done lots and lots of code in PHP that is object-oriented, but up until now, all of my classes have been, "singular", I suppose you can call it.  I am in the process of changing several classes (that have 5 or so identical methods) to extend one class (to rid myself of duplicate code).  I am running into a few issues.  </p>
  
  <p>I am trying to access a method in a parent class, but you can see the issue.</p>
  
  <p>Parent class:</p>
  
  <pre><code> class DatabaseObject { 
  
       public static function find_all() {
          return self::find_by_sql("SELECT * FROM " . self::$table_name);
      }
  }
  </code></pre>
  
  <p>Child Class:</p>
  
  <pre><code>class Topics extends DatabaseObject {
  
      protected static $table_name = "master_cat";
      protected static $db_fields = array('cat_id', 'category');
      public $cat_id;
      public $category;
  
    }
  </code></pre>
  
  <p>Code trying to access all info from this table from php/html file:</p>
  
  <pre><code>$topics=Topics::find_all();
  
  foreach($topics as $topic):
      echo $topic-&gt;category;
  endforeach; 
  </code></pre>
  
  <p>As you can see, Most of the code has not been merged to the new way of doing things.  I need to change the self::$table_name which no longer works in the new way I am doing things.  I will have about 5 Classes extending this object, so what is the best way of coding this so I can access different tables with one method (rather than including this exact find_all() method in 5 different classes.</p>