29 lines
533 B
PHP
29 lines
533 B
PHP
<?php
|
|
|
|
namespace Tests\Aspects;
|
|
|
|
use Attribute;
|
|
use IceFox\Aspect\AspectContext;
|
|
|
|
#[Attribute(Attribute::TARGET_METHOD)]
|
|
class BasicAspect
|
|
{
|
|
public ?object $object = null;
|
|
|
|
public function __construct(
|
|
private readonly AspectContext $context,
|
|
) {
|
|
}
|
|
|
|
public function before(mixed ...$args): void
|
|
{
|
|
$this->object = end($args);
|
|
$this->object->before = true;
|
|
}
|
|
|
|
public function after(mixed $return): mixed
|
|
{
|
|
$this->object->after = true;
|
|
return $return;
|
|
}
|
|
}
|