<?php
class a {
private function __clone()
{
}
private function __construct()
{
}
public static function getInstance()
{
return new static();
}
public function cloneIt()
{
$a = clone $this;
return $a;
}
}
class c extends a {
}
// private constructor
$d = c::getInstance();
// private clone
$e = $d->cloneIt();
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Output for 7.0.0 - 7.0.27, 7.1.0 - 7.1.12, 7.2.0
Fatal error: Uncaught Error: Call to private c::__clone() from context 'a' in /in/bWr72:21
Stack trace:
#0 /in/bWr72(35): a->cloneIt()
#1 {main}
thrown in /in/bWr72 on line 21
Process exited with code 255.