Skip to content

Releases: ray-di/Ray.Aop

2.4.2

12 Jul 21:29
Compare
Choose a tag to compare

This release ignore file timestamp to create code-gen AOP file. #74

2.4.1

28 Aug 12:58
Compare
Choose a tag to compare

This release fix the bug for Matcher::logicalOr and Matcher::logicalAndwhen parameters takes more than 3 conditions. #69

Thanks @fiahfy !

2.4.0

10 Aug 03:03
Compare
Choose a tag to compare

This release drop unsupported php versions. (5.4 and 5.5)

2.3.3

01 Jul 18:14
Compare
Choose a tag to compare

This release fix set return type with no parameters in php7. #63
Thanks @kuma-guy ! 👍

2.3.2

23 May 19:07
Compare
Choose a tag to compare

This release add the support php7 scalar type hint and return type.
#62

Thanks @kuma-guy

2.3.1

01 May 19:30
Compare
Choose a tag to compare

This release supports php parser 1 and 2. #61

Thanks @WyriHaximus

2.3.0

17 Feb 10:04
Compare
Choose a tag to compare

This release provides better annotation reading. It makes easy and performance boost.

An alternate package reflection have get-annotation method. #60

/** @var $method \Ray\Aop\ReflectionMethod */
$method = $invocation->getMethod();
/** @var $class \Ray\Aop\ReflectionClass */
$class = $invocation->getMethod()->getDeclaringClass();

You don't need doctrine annotation reader in your interceptor for annotation.

behind scene:

Annotations are serialized and attached to generated intercepting class as caching data. It makes generated code and cached annotation synchronized sure. A code is generated on original file timestamp base.

class Ray_Aop_FakeAnnotateClass_OWAJSAU extends Ray\Aop\FakeAnnotateClass implements Ray\Aop\WeavedInterface
{
    private $isIntercepting = true;
    public $bind;
    public $methodAnnotations = 'a:1:{s:9:"getDouble";a:3:{s:19:"Ray\\Aop\\FakeMarker3";O:19:"Ray\\Aop\\FakeMarker3":0:{}s:19:"Ray\\Aop\\FakeMarker2";O:19:"Ray\\Aop\\FakeMarker2":0:{}s:18:"Ray\\Aop\\FakeMarker";O:18:"Ray\\Aop\\FakeMarker":0:{}}}';
    public $classAnnotations = 'a:2:{s:20:"Ray\\Aop\\FakeResource";O:20:"Ray\\Aop\\FakeResource":0:{}s:27:"Ray\\Aop\\FakeClassAnnotation";O:27:"Ray\\Aop\\FakeClassAnnotation":1:{s:5:"value";s:4:"item";}}';
}

It is fast.

2.2.0

16 Feb 01:13
Compare
Choose a tag to compare

This release add AbstractAssisted annotation class. See more at #59

2.1.1

27 May 15:03
Compare
Choose a tag to compare

This release fix bug #53 #54 , logicalOr, logicalAnd or logicalNot can take the parameters.

2.1.0

26 Apr 04:22
Compare
Choose a tag to compare

This release give the feature aspect compiler only generate intercepted method.