title: cannot define constructor as protected or private! why?
body: <pre><code>--- A.php ----
  require_once 'B.php';
  
  class A
  {
      public function __constructor($x){...}
  
      public function foo()
      {
          $b = B::getInstance();
          ...
      }
  }
  
  --- B.php ----
  require_once 'A.php';
  
  class B extends A
  {
      protected static $_instance = null;
  
      protected function __construct(){}
  
      public static function getInstance()
      {....}
  }
  </code></pre>
  
  <p>PHP just stops interpreting the code as soon as it reaches line</p>
  
  <pre><code>protected function __construct(){}
  </code></pre>
  
  <p>and outputs everything before and nothing that would have been sent to the browser afterwards.</p>
  
  <p>And as soon as I just take that line out, by changing it to</p>
  
  <pre><code>// protected function __construct(){}
  </code></pre>
  
  <p>everything works fine!?</p>
  
  <p>I don't get that.</p>
  
  <p>Any ideas?</p>