24 lines
491 B
PHP
24 lines
491 B
PHP
<?php
|
|
|
|
namespace Tests\Aspects;
|
|
|
|
use Attribute;
|
|
|
|
#[Attribute(Attribute::TARGET_METHOD)]
|
|
class ModifyingAspect
|
|
{
|
|
public static mixed $modifier = null;
|
|
|
|
public function after(object|string $target, mixed $result): mixed
|
|
{
|
|
if (self::$modifier !== null) {
|
|
return (self::$modifier)($result);
|
|
}
|
|
return $result; // Return original value when not modifying
|
|
}
|
|
|
|
public static function reset(): void
|
|
{
|
|
self::$modifier = null;
|
|
}
|
|
}
|