title: Call private method from inherited class
body: <p>I want to implement a hook-system in my simple ORM, in PHP:</p>
  
  <pre><code>class Record {
    public function save() {
      if (method_exists($this,"before_save")) {
        $this-&gt;before_save();
      }
      //...Storing record etc.
    }
  }
  
  class Payment extends Record {
    private function before_save() {
      $this-&gt;payed_at = time();
    }
  }
  
  $payment = new Payment();
  $payment-&gt;save();
  </code></pre>
  
  <p>This results in a Fatal Error: </p>
  
  <blockquote>
    <p>Fatal error: Call to private method Payment::before_save() from
    context 'Record' in</p>
  </blockquote>
  
  <p>Makes sense.</p>
  
  <p>I could change the scope to public, but that seems ugly: no-one but Payment has anything to do with <code>before_save()</code>. It is best left private, IMHO.</p>
  
  <p>How can I make Record call a private method on the class inheriting from the Record?</p>