mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-09-20 00:16:55 +02:00
38 lines
853 B
PHP
38 lines
853 B
PHP
|
<?php
|
||
|
|
||
|
namespace SilverStripe\Core\Tests\Injector\AopProxyServiceTest;
|
||
|
|
||
|
use SilverStripe\Core\Injector\BeforeCallAspect;
|
||
|
use SilverStripe\Core\Injector\AfterCallAspect;
|
||
|
|
||
|
class BeforeAfterCallTestAspect implements BeforeCallAspect, AfterCallAspect
|
||
|
{
|
||
|
public $block = false;
|
||
|
|
||
|
public $called;
|
||
|
|
||
|
public $alternateReturn;
|
||
|
|
||
|
public $modifier;
|
||
|
|
||
|
public function beforeCall($proxied, $method, $args, &$alternateReturn)
|
||
|
{
|
||
|
$this->called = $method;
|
||
|
|
||
|
if ($this->block) {
|
||
|
if ($this->alternateReturn) {
|
||
|
$alternateReturn = $this->alternateReturn;
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function afterCall($proxied, $method, $args, $result)
|
||
|
{
|
||
|
if ($this->modifier) {
|
||
|
$modifier = $this->modifier;
|
||
|
return $modifier($result);
|
||
|
}
|
||
|
}
|
||
|
}
|