title: Are abstract class constructors not implicitly called when a derived class is instantiated?
body: <p>Take this example:</p>
  
  <pre><code>abstract class Base {
      function __construct() {
          echo 'Base __construct&lt;br/&gt;';
      }
  }
  
  class Child extends Base {
      function __construct() {
          echo 'Child __construct&lt;br/&gt;';
      }
  }
  
  $c = new Child();   
  </code></pre>
  
  <p>Coming from a C# background, I expect the output to be </p>
  
  <blockquote>
    <p>Base __construct<br/> Child __construct</p>
  </blockquote>
  
  <p>However, the actual output is just</p>
  
  <blockquote>
    <p>Child __construct</p>
  </blockquote>