File "PropertyHook.php"

Full Path: /var/www/html/back/vendor/phpdocumentor/reflection/tests/integration/data/PHP84/PropertyHook.php
File size: 691 bytes
MIME-type: text/x-php
Charset: utf-8

<?php

declare(strict_types=1);

class PropertyHook
{
    private bool $modified = false;

    /** @var string this is my property */
    #[Property(new DateTimeImmutable())]
    public string $example = 'default value' {
        /** Not sure this works, but it gets */
        #[Getter(new DateTimeImmutable())]
        get {
            if ($this->modified) {
                return $this->foo . ' (modified)';
            }
            return $this->foo;
        }
        /** Not sure this works, but it sets */
        #[Setter(new DateTimeImmutable())]
        set(string|int $value) {
            $this->foo = strtolower($value);
            $this->modified = true;
        }
    }
}