PHPのコントロールコンテナを反転しますか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/52072

  •  09-06-2019
  •  | 
  •  

質問

私は PHP で TDD スタイルをコーディングしようとしていますが、最大の障害の 1 つは (適切な IDE がないこと以外に)、すべてのモック オブジェクトを適切に注入するためだけに独自のハックされた IoC コンテナーを作成しなければならないことです。

PHP で Ioc コンテナを使用した人はいますか?私が見つけられたのは 常に迷惑な phpclasses.org の PHP IOC ドキュメントもほとんどなく、支持者も少ないようです。

役に立ちましたか?

解決

PHP 用の DI フレームワークをいくつか試しましたが、実稼働環境では使用したことがありません。いくつかのリンクがあります:

  1. http://www.stubbles.net/ 私が試した最古のことだと思います
  2. http://php.xjconf.net/
  3. フロー3 - 私はこれが非常に素晴らしいフレームワークになると信じています(今のベータ版)

あなたはそれを TDD に使用すると述べました - それで、おそらく見てください PHP での単体テストの依存関係の挿入

他のヒント

フェムト は再び開発されており、私見では非常に有望に見えます。

他にも同様のプロジェクトがいくつかありますので、参照してください。

バケツ (免責事項:私はこの本の主著者です)

ピココンテナのphp-port, 、長い間存在しています。もう積極的に開発されているわけではないと思いますが、一方でかなり安定していると思います。久しぶりに見ましたけどね。

私が最近偶然見つけたかなり新しいプロジェクトは、 ずるい. 。ただ、どれくらいの人が利用しているかは分かりません。

私も見てます スパイシーな, 、面白そうです。

Spring(tm) for Java をモデルとした Ding (http://marcelog.github.com/Ding) を試してみることもできます。これは、制御と依存性注入コンテナーの完全な反転であり、AOP もサポートします。

についてはどうですか Symfony 依存関係の注入 または PHP 5.3 以降の同等のもの 成分 symfony 2.0 プロジェクトから。

PHP-DI は別の依存性注入コンテナーです。

依存性注入を特徴としています。 注釈 そして 最小限の構成, 、例を次に示します。

class Foo {
    /**
     * @Inject
     * @var Bar
     */
    private $bar;
}

非常に使いやすく、たとえば Zend Framework と統合されます。

(はい、私はこのフレームワークに取り組んでいます)

私は次のことに取り組んできました PHP IoC/DIコンテナ 過去 6 か月間、Substrate と名付けられました。それはまだ進行中の作業ですが、 運用環境にデプロイされる 1か月半ですが、これまでのところかなりうまく機能しています。

Substrate は Spring Framework からインスピレーションを得ていますが、PHP の長所と制限を念頭に置いて作成されています。現時点ではドキュメントは最小限ですが、いくつかのドキュメントがあります。 サンプルコード, 単体テストの例も含まれています。これは TDD に使用できる可能性があると考えていますか?

Laravel 4 には最高の IoC および DI フレームワークが備わっています。フレームワークを使用しても構わない場合は、Laravel 4 が最適です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top