aspect/tests/bootstrap.php
2025-12-22 17:54:16 -03:00

39 lines
1.1 KiB
PHP

<?php
use IceFox\Aspect\AspectBuilder;
use IceFox\Aspect\AspectWeaver;
use Psr\Log\NullLogger;
use Tests\Aspects\BasicAspect;
use Tests\Aspects\LoggingAspect;
use Tests\Aspects\TrackingAspect;
use Tests\Aspects\ThrowingAspect;
use Tests\Aspects\ModifyingAspect;
use Tests\Aspects\ConfigurableAspect;
use Tests\Classes\WrappedClass;
use Tests\Classes\ParameterTypesClass;
use Tests\Classes\StackedAspectsClass;
use Tests\Classes\ThrowingClass;
use Tests\Classes\ModifyingClass;
use Tests\Classes\ConfigurableClass;
$cacheDir = sys_get_temp_dir() . '/cache/php-aop-cache';
$useCache = false;
$weaver = new AspectWeaver(
[BasicAspect::class, LoggingAspect::class, TrackingAspect::class, ThrowingAspect::class, ModifyingAspect::class, ConfigurableAspect::class],
$cacheDir,
$useCache,
new NullLogger(),
);
$loader = AspectBuilder::begin()
->withClasses([
WrappedClass::class,
ParameterTypesClass::class,
StackedAspectsClass::class,
ThrowingClass::class,
ModifyingClass::class,
ConfigurableClass::class,
])
->build($weaver)
->register();