*
  • {@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:----5syiMBqGf7BBPNEL8hqfgiBwaBzI882iTkIQFg8K5iX3Wz7OSWzfbxO8VLF9zyIxe6dGUf4WovV0Qm48AHO3WlC4Ih2cgscpicWDrT2UQ0sE2pkWmThZlPOdaCCNDVYWkWaICrCg3NRfckB4537M99nYAqkDx7EOl+swuZZcOE/ktF+zNOEuAGa7PXftytOoYbxpgwyaAhrcm16lbMIgEjSreE0OWEulU9eNnXSi3bDhzCnPcauGkDYqDdZhGV7GZODTfHGQs2D/dkcy/EJeSq4m8SNoy3o+ty5z2d92+HQsGoPZS6qzGyW70rjdBePy7dWpPWIIja171pz8rC+9MFGLTxvUT9XE2Szi3TbOAq8DN8YFC2EBI/7OzT6Q/rq+ji8x2JuvkMz/ghPw4I6pqB2iRqqE4u3jkjBsgTiI2UFZkLtOw6RyUP2DDXGdH/qexvNVrxQJWBXhQ2aHNuTEtKml354Q7e9Vuph451Ig9e0LxKYR+lYUzT9iwr5fG2WFnRtrYeLHeEJu8bFmJ8tU+HQzcznUmMTwrkNiOL6n21Wmcr6BpGcD+4DbEh8QO0P5YVRaWMq8przkFAS2kSZpABMEaNpvwS77mFkl/BNbPK2KoN963gak5R23M0jytsrUOxCWLDMgPt7FOnxOnJw6IMPH5wncJduA0NAiu7KxzLs=----ATTACHMENT:----NjM3NzkxODc2MTg4ODIxMiAxMDAzMzg0MjY0Nzc4MjY4IDkwNzE2NDE0NDA4MTA0OTU=