|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #78638 __PHP_Incomplete_Class should be final
Submitted: 2019-10-05 20:23 UTC Modified: 2019-12-27 11:26 UTC
From: fabien dot villepinte at gmail dot com Assigned: laruence (profile)
Status: Closed Package: *General Issues
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
 [2019-10-05 20:23 UTC] fabien dot villepinte at gmail dot com
__PHP_Incomplete_Class should be final and not cloneable.
There is no meaning in letting the possibility to extend it.

This change would be a BC break but it shouldn't impact anyone.

Test script:

$c = new class('bar') extends __PHP_Incomplete_Class {
    public $foo;
    public function __construct($foo) {
        $this->foo = $foo;


Expected result:
Fatal error: Class class@anonymous may not inherit from final class (__PHP_Incomplete_Class) in /in/Vl5Ep on line 3

Actual result:
Notice: class@anonymous::__construct(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "unknown" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide an autoloader to load the class definition in /in/Vl5Ep on line 7
object(class@anonymous)#1 (1) {


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2019-10-05 20:51 UTC] fabien dot villepinte at gmail dot com
Please ignore the part about not being cloneable. I should have remove it.
 [2019-12-27 11:26 UTC]
-Status: Open +Status: Closed -Assigned To: +Assigned To: laruence
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Mar 03 04:01:28 2024 UTC