Open solcik opened 2 years ago
Public readonly properties are unset in Proxy's constructor, which results in error.
Cannot unset readonly property \Entity\SimpleBook::$title from scope Proxies\__CG__\Entity\SimpleBook
#[Entity, Table] class SimpleBook { #[Column, Id, GeneratedValue] private readonly int $id; #[Column] public readonly string $title; #[ManyToOne, JoinColumn(nullable: false)] private readonly Author $author; public function getId(): int { return $this->id; } public function getTitle(): string { return $this->title; } public function getAuthor(): Author { return $this->author; } } class SimpleBook extends \Entity\SimpleBook implements \Doctrine\ORM\Proxy\Proxy { // ... public function __construct(?\Closure $initializer = null, ?\Closure $cloner = null) { unset($this->title); $this->__initializer__ = $initializer; $this->__cloner__ = $cloner; } }
I dug into ProxyGenerator and here is generation of these unsets:
public readonly properties are not tested as I see in tests.
public readonly
Failing Test
Summary
Public readonly properties are unset in Proxy's constructor, which results in error.
Current behavior
Cannot unset readonly property \Entity\SimpleBook::$title from scope Proxies\__CG__\Entity\SimpleBook
How to reproduce
Expected behavior
Code that generates Proxy's constructor
I dug into ProxyGenerator and here is generation of these unsets:
public readonly
properties are not tested as I see in tests.