27 lines
570 B
PHP
27 lines
570 B
PHP
<?php
|
|
|
|
namespace Tests\Aspects;
|
|
|
|
use Attribute;
|
|
|
|
#[Attribute(Attribute::TARGET_METHOD)]
|
|
class LoggingAspect
|
|
{
|
|
public static array $logs = [];
|
|
|
|
public function before(object|string $target, mixed ...$args): void
|
|
{
|
|
self::$logs[] = ['type' => 'logging_before', 'args' => $args];
|
|
}
|
|
|
|
public function after(object|string $target, mixed $result): mixed
|
|
{
|
|
self::$logs[] = ['type' => 'logging_after', 'result' => $result];
|
|
return $result;
|
|
}
|
|
|
|
public static function clearLogs(): void
|
|
{
|
|
self::$logs = [];
|
|
}
|
|
}
|