Open
Description
Recent fix for constants in default parameter values broke proxy generation when constant is referenced as self
.
Example entity code:
public function hasAccess(int $level = self::LEVEL_WORKER): bool
{
return $this->level >= $level;
}
Generated proxy class:
public function hasAccess(int $level = \self::LEVEL_WORKER): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'hasAccess', [$level]);
return parent::hasAccess($level);
}
Which in effect causes Fatal Error in PHP 8.1:
[27-Sep-2022 09:11:12 UTC] PHP Fatal error: '\self' is an invalid class name in /app/var/cache/beta/doctrine/orm/Proxies/__CG__AppEntitySomeEntity.php on line 242