39 lines
1.1 KiB
PHP
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();
|