*
  • {@link Immutable::CONSTRUCTOR_WRITE_SCOPE}: write is allowed only in containing class constructor (default choice)
  • *
  • {@link Immutable::PRIVATE_WRITE_SCOPE}: write is allowed only in places where the property would be accessible if it had 'private' visibility modifier
  • *
  • {@link Immutable::PROTECTED_WRITE_SCOPE}: write is allowed only in places where the property would be accessible if it had 'protected' visibility modifier
  • * * @since 8.0 */ #[Attribute(Attribute::TARGET_PROPERTY|Attribute::TARGET_CLASS)] class Immutable { public const CONSTRUCTOR_WRITE_SCOPE = "constructor"; public const PRIVATE_WRITE_SCOPE = "private"; public const PROTECTED_WRITE_SCOPE = "protected"; public function __construct(#[ExpectedValues(valuesFromClass: Immutable::class)] $allowedWriteScope = self::CONSTRUCTOR_WRITE_SCOPE) { } } __halt_compiler();----SIGNATURE:----uuJpSd4fIoxg+d0DcU0H1/cLgywfcupPjnJzbwMjDjsEucQ3Ozbs3/eArkVv6g0cZP8nhcj5ZaMYcV9i+p6thnHL+t2lLobdYqpBazaOHxkLebqFAqPYhHraWHPTcCl6jPB8a2o9LB439CI8mJMvpGlYNQeUu6AhTUmYoaAXZiVSx5KPOGsq166KuLPCefAqJE67HLS5lNsfgTqxg3uHto1x/4iq2OPvIugf0B36iI8sYBcBUxseu/PRa9Cjbcy/iEU/DezTZmkNBpcnK1FSajqivZ1qi/WCr1prv45YNCbAm8hLqdpHIH8NRt73JrtNqT61BOGpkiSQsTZqJ6grQSNUs9cAui/TL7g/HQ73JZCmHLMa8vG2+p92bbz3TA8zvDSq29OQD5YqlF4ItIdGYYRG1pO4Vsb5TI62n5ExKqolL5CAkmNHLAaR57mnkveDoq3tK74UMGaEzSoPImpVu4+kdH7T/fG++8iU10QTXBk2Thk2NM7rG/0FSFC4fqPRYWWBg/p64xYTrCsaKuR0mZlgG0ocAy/3SPv2gkWVxBuoGid5C2b66kzLIQmwixhIgZTSwTJRuPRMO33x0Ciw6CVg6Rvo7EGk+RM5Cfb+kjwgOvTug5rxDewL6TtcmtfFgMypHgjv3UtmZOeg61t9wHgjcQb9HYiYTgxt1sZlCRI=----ATTACHMENT:----NzkyMjY2MDI0MDA4Mjc5MiA3Mjc0NDcxODk0NTE3MzE4IDk0ODE4MDg5ODU2MjU5MzY=