title: Abstruct __construct in Abstract class. declaration must be compatible...Error of the PHP?
body: <p>It is works!</p>
  <pre><code>abstract class Base
  {
      public function __construct(int $a)
      {
          
      }
  }
  
  class Extend extends Base
  {
      function __construct(int $a, $b)
      {
          parent::__construct($a);
      }
  }
  
  
  $extended2 = new Extend(1, 2);
  </code></pre>
  <p>It is not works! Gives an error message. Fatal error:  Declaration of Extend::__construct(int $a, $b) must be compatible with Base::__construct(int $a)</p>
  <pre><code>abstract class Base
  {
      abstract public function __construct(int $a);
  }
  
  class Extend extends Base
  {
      function __construct(int $a, $b)
      {
          parent::__construct($a);
      }
  }
  
  
  $extended2 = new Extend(1, 2);
  </code></pre>