このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
basic-library:league-container:3.3 [2020/04/19 16:00] y2sunlight |
basic-library:league-container:3.3 [2020/04/19 16:38] y2sunlight |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > TODO: | ||
- | |||
- | ----- | ||
- | |||
====== DIコンテナー - League/ | ====== DIコンテナー - League/ | ||
Version 3.3 ([[https:// | Version 3.3 ([[https:// | ||
行 171: | 行 167: | ||
==== テスト2 ==== | ==== テスト2 ==== | ||
- | > DIコンテナ― によるコンストラクター・インジェクションの例 | + | DIコンテナ― によるコンストラクター・インジェクションの例です。依存関係をクラスコンストラクターに渡すことは、依存性注入の最も簡単な方法です。League/ |
<code php index2.php> | <code php index2.php> | ||
+ | <?php declare(strict_types=1); | ||
+ | require __DIR__.'/ | ||
+ | |||
+ | // ComposerのAutoloadの代替 | ||
+ | spl_autoload_register(function ($class) | ||
+ | { | ||
+ | require __DIR__.'/ | ||
+ | }); | ||
+ | |||
+ | // | ||
+ | // DIコンテナによるコンストラクター・インジェクション | ||
+ | // | ||
+ | $container = new League\Container\Container; | ||
+ | |||
+ | $container | ||
+ | -> | ||
+ | -> | ||
+ | -> | ||
+ | ; | ||
+ | $container-> | ||
+ | $container-> | ||
+ | |||
+ | $foo = $container-> | ||
+ | |||
+ | var_dump($foo instanceof Acme\Foo); | ||
+ | var_dump($foo-> | ||
+ | var_dump($foo-> | ||
</ | </ | ||
=== 結果 === | === 結果 === | ||
< | < | ||
+ | D: | ||
+ | D: | ||
+ | D: | ||
</ | </ | ||
+ | |||
+ | \\ | ||
==== テスト3 ==== | ==== テスト3 ==== |