PHP :: Bug #38064 :: ignored constructor visibility
| Bug #38064 | ignored constructor visibility | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2006-07-11 11:56 UTC | Modified: | 2006-08-07 23:25 UTC |
|
||||||||||
| From: | instance at o2 dot pl | Assigned: | helly (profile) | |||||||||||
| Status: | Closed | Package: | Class/Object related | |||||||||||
| PHP Version: | 5.1.* | OS: | * | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2006-07-11 11:56 UTC] instance at o2 dot pl
Description:
------------
Private __construct() can be called form inherited class constructor via parent::__construct();
I'm not sure, this was not reported, but I didn't found any this kind.
Also in PHP version 5.2 this was occured (not by me).
Thx.
Reproduce code:
---------------
<?php
class A{
private function __construct(){}
}
class B extends A{
public function __construct(){
parent::__construct();
}
}
$instance=new B();
?>
Expected result:
----------------
Fatal error: Call to private method A::__construct() from context 'B'
Actual result:
--------------
no error - everything is fine
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2006-07-17 19:43 UTC] mike@php.net
[2006-08-07 23:25 UTC] helly@php.net