aspect/tests/Aspects/LoggingAspect.php
2026-01-06 11:41:55 -03:00

33 lines
654 B
PHP

<?php
namespace Tests\Aspects;
use Attribute;
use IceFox\Aspect\AspectContext;
#[Attribute(Attribute::TARGET_METHOD)]
class LoggingAspect
{
public static array $logs = [];
public function __construct(
private readonly AspectContext $context,
) {
}
public function before(mixed ...$args): void
{
self::$logs[] = ['type' => 'logging_before', 'args' => $args];
}
public function after(mixed $result): mixed
{
self::$logs[] = ['type' => 'logging_after', 'result' => $result];
return $result;
}
public static function clearLogs(): void
{
self::$logs = [];
}
}