xref: /PHP-8.1/Zend/tests/bug44141.phpt (revision 7aacc705)
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?>
25--EXPECTF--
26Fatal error: Uncaught Error: Call to private X::__construct() from scope Y in %s:%d
27Stack trace:
28#0 %s(%d): Y::cheat(5)
29#1 {main}
30  thrown in %sbug44141.php on line 15
31