1--TEST-- 2Bug #44141 (private parent constructor callable through static function) 3--FILE-- 4<?php 5class X 6{ 7 public $x; 8 private function __construct($x) 9 { 10 $this->x = $x; 11 } 12} 13 14class Y extends X 15{ 16 static public function cheat($x) 17 { 18 return new Y($x); 19 } 20} 21 22$y = Y::cheat(5); 23echo $y->x, PHP_EOL; 24--EXPECTF-- 25Fatal error: Uncaught Error: Call to private X::__construct() from context 'Y' in %sbug44141.php:15 26Stack trace: 27#0 %s(%d): Y::cheat(5) 28#1 {main} 29 thrown in %sbug44141.php on line 15 30