Skip to content

Releases: ray-di/Ray.Compiler

1.11.0

04 Feb 01:31
9d141a7
Compare
Choose a tag to compare

What's Changed

  • Update PHP versions in CI workflow and update QA tools latest by @koriym in #114
  • CompileVisitor using the visitor pattern and CompiledInjector by @koriym in #115

The dependencies of nikic/PHP-Parser have been removed, and the entire system has been rewritten using a fast compiler based on the Visitor pattern.

The on-demand compilation has been removed, and a compile injector has been added that only uses simple, clean, compiled code.

Basic Usage

Pre-compile your dependencies:

use Ray\Compiler\Compiler;

$compiler = new Compiler();
// Compile Ray.Di bindings to PHP files
$compiler->compile(
    $module,    // AbstractModule: Your application's module
    $scriptDir  // string: Directory path where compiled PHP files will be generated
);

Use the compiled injector:

use Ray\Compiler\CompiledInjector;

$injector = new CompiledInjector($scriptDir);
$instance = $injector->getInstance(YourInterface::class);

Note: The on-demand compiler will be deprecated.

compiler image

Full Changelog: 1.10.6...1.11.0

1.10.6

21 Oct 02:10
69ad4bf
Compare
Choose a tag to compare

What's Changed

  • Add dependencyIndex to the message of the Unbound exception by @jingu in #113

New Contributors

Full Changelog: 1.10.5...1.106

1.10.5

10 May 11:59
b4ad323
Compare
Choose a tag to compare

What's Changed

  • Add wakeup call in CompileInjector by @koriym in #111

Full Changelog: 1.10.4...1.10.5

1.10.4

05 Mar 04:17
af9e228
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.10.3...1.10.4

1.10.3

21 Sep 08:48
8373747
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.10.2...1.10.3

1.10.2

22 Aug 21:17
122ffc3
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.10.1...1.10.2

1.10.1

24 Mar 08:27
e0406e2
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.10.0...1.10.1

1.10.0

17 Mar 09:18
0197688
Compare
Choose a tag to compare

What's Changed

Injectors can be used with partial bundling changes to make testing easier.

Thanks @NaokiTsuchiya !

Full Changelog: 1.9.2...1.10.0

1.9.2

31 Jan 10:39
92ff536
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @github-actions made their first contribution in #98

Full Changelog: 1.9.1...1.9.2

1.9.1

10 Jun 17:06
1591fa1
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.9.0...1.9.1