123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- --TEST--
- ZE2 A private constructor cannot be called
- --FILE--
- <?php
- class Test
- {
- function __construct()
- {
- echo __METHOD__ . "()\n";
- }
- }
- class Derived extends Test
- {
- function __construct()
- {
- echo __METHOD__ . "()\n";
- parent::__construct();
- }
-
- static function f()
- {
- new Derived;
- }
- }
- Derived::f();
- class TestPriv
- {
- private function __construct()
- {
- echo __METHOD__ . "()\n";
- }
- static function f()
- {
- new TestPriv;
- }
- }
- TestPriv::f();
- class DerivedPriv extends TestPriv
- {
- function __construct()
- {
- echo __METHOD__ . "()\n";
- parent::__construct();
- }
-
- static function f()
- {
- new DerivedPriv;
- }
- }
- DerivedPriv::f();
- ?>
- ===DONE===
- --EXPECTF--
- Derived::__construct()
- Test::__construct()
- TestPriv::__construct()
- DerivedPriv::__construct()
- Fatal error: Cannot call private TestPriv::__construct() in %sctor_visibility.php on line %d
|