2016-05-28 9 views
0

私はコンポーザーインストール可能なリポジトリを設定しています。私はComposerのドキュメントを読んで、手順に従ってリポジトリをセットアップしました。私がrequirerequire-devの違いについて理解したのは、require-devが、リポジトリが正しく動作するために必須ではない宣言依存性のためです。Composerのrequireとrequire-devに関する疑問

しかし、私はこれらの2つのリポジトリに、これらのリポジトリが正常に動作していることに必要とされており、require-devにリストされているパッケージがあり、Zend FormRespect Validationのように、GitHubの上でいくつかのライブラリのcomposer.jsonを見て、と。たとえば、egulias/email-validatorの依存関係は、尊重検証においてrequire-devに記載されていますが、this fileでは、電子署名検証ツールが動作するためにはこの依存関係が必要です。では、なぜこの依存関係がrequireに記載されていないのですか?

zendframework/zend-captchaと同じことが発生し、Captcha elementが必要です。

答えて

1

この依存関係は、電子メール検証ツールが動作するために必要です。

これはありません。 Respect\Validation\Rules\EmailにはEgulias\EmailValidator\EmailValidatorへのオプションの依存関係があることがわかります。 egulias/email-validatorが指定されている場合、クラスはuse itになります。それ以外の場合はfilter_varにフォールバックします。クラスはいずれの方法でも動作します。パッケージが行うことができるのはsuggestです。

+0

これは当てはまります。しかし、Zend Captchaのために?私はコードを見て、私はZend \ Captchaコンポーネントの要素を使用せずにそれを使用する方法を見ていない。 setCaptchaメソッドを参照してください。 Traversableインターフェースを実装する配列などを提供する場合は、Zend \ CaptchaコンポーネントのFactoryを使用します。他のオプションは、Zend \ CaptchaコンポーネントのAdapterInterfaceを実装するものです。 – user3753202

+1

これは 'Zend \ Form \ Element \ Captcha'と同じです。 'setCaptcha'メソッドのドキュメンテーションは' zend-captcha'を必要としますが、 'zend-form'が' zend-captcha'に依存することを意味するものではありません。 _your_アプリケーションが 'setCaptcha'を使用する場合は、' ZendCaptcha \ AdapterInterface'のインスタンスを渡して、そのパッケージをインストールする必要があります。また、「zendframework/zend-form」を使用することを選択した人々の大部分は、Captchaを使用しないことがあります。あなたは本当にあなたがとにかく使用しない依存関係をインストールする必要はありません。 – Federkun

+1

私が言うことは、 'zend-form'は' zend-captcha'を直接使用しないということです。あなたのアプリケーションに 'zend-captcha'パッケージを使ってオブジェクトを作成し、そのオブジェクトを' zend-form'のコンポーネントに渡す必要があります。しかし、それは 'zend-form'が' zend-captcha'を必要とすることを意味するものではありません。あなたのアプリケーションはそうです。 – Federkun

関連する問題