20

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

PHPでIocコンテナを使用した人はいますか? 私が見つけることができたのは、常に迷惑なphpclasses.orgのPHP IOCだけで、ほとんどドキュメントがなく、フォローもあまりないようです。

4

7 に答える 7

8

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

  1. http://www.stubbles.net/これは私が試した中で最も古いと思います
  2. http://php.xjconf.net/
  3. FLOW3 - これは非常に優れたフレームワークになると信じています (現在はベータ版です)。

あなたはそれをTDDに使用すると述べたので、PHPでの単体テストの依存性注入を見てください。

于 2008-09-09T15:41:47.413 に答える
6

Phemtoは再び開発されており、非常に有望に見えます。

あなたが見たいかもしれない他のいくつかの同様のプロジェクト:

バケット(免責事項: 私はこれの主な作成者です)

picocontainerのphp-port は、長い間存在しています。もう活発に開発されているとは思いませんが、その一方で、かなり安定していると思います。それにしても久しぶりに見ました。

私が最近偶然見つけたかなり新しいプロジェクトはCraftyです。ただ、何人が使っているかは不明です。

面白そうなsphicyも見ています。

于 2009-01-03T22:46:38.110 に答える
3

Symfony Dependency Injectionまたはsymfony 2.0 プロジェクトの PHP 5.3+ 相当コンポーネントについてはどうですか。

于 2011-07-29T12:59:11.603 に答える
3

Java 用の Spring(tm) をモデルにした Ding (http://marcelog.github.com/Ding) も試してみてください。コントロールと依存性注入コンテナの完全な反転であり、AOP もサポートします。

于 2011-04-27T11:33:24.840 に答える
2

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

注釈最小限の構成による依存性注入が特徴です。以下に例を示します。

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

使い方はとても簡単で、たとえば Zend Framework と統合できます。

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

于 2012-11-12T09:07:30.130 に答える
1

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

Substrate は Spring Framework にインスパイアされていますが、PHP の長所と制限を念頭に置いて作成されています。この時点でドキュメントは最小限ですが、単体テストの例を含むサンプル コードがいくつかあります。これは、TDD に使用できると思われるものですか?

于 2008-12-31T10:20:16.847 に答える
0

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

于 2013-07-04T11:37:45.183 に答える