laravelの「ファサード」と「コントラクト」の問題
过去多啦不再A梦
过去多啦不再A梦 2017-05-16 16:47:41
0
3
470

laravel の「ファサード」と「コントラクト」の問題:
質問は 2 つあります:
1. これら 2 つの使用シナリオは何ですか?
2. この 2 つの言葉がなぜ使われているのか理解できません。これら 2 つの言葉はそれぞれの機能に関係があるのでしょうか。

过去多啦不再A梦
过去多啦不再A梦

全員に返信(3)
给我你的怀抱

簡単に言えば:
Appearance (あなたが話している Facade) は Appearance モード の実装です。 外观(你说的门面)是外观模式的实现。
协议(你说的契约)是工厂方法模式抽象工厂模式プロトコル (あなたが話している コントラクト) は、ファクトリ メソッド パターン または 抽象ファクトリ パターン の実装です。

デザインパターンを読むと、多くのことが得られます。

いいねを押す +0
小葫芦

まず依存関係注入コンテナーの使用方法を学習する必要があります。

Laravel の Facade は、コンテナからサービスを呼び出すためのショートカットです。

ファサードがない場合は、次のようなサービス/オブジェクトを取得してから呼び出す必要がある場合があります:

リーリー

コンテナにインスタンスを'some_service',所以容器能make登録したためです。

Facade は、この使用プロセスを静的な方法で単純化するだけで、最下層は __callStatic を使用して関数とパラメーターをサービス インスタンスに渡します。 リーリー

Contract は、フレームワークに付属する一連のインターフェイスであり、依存関係の注入を通じて実装できます。

リーリー

Facade と Contract は、依存関係注入コンテナーを使用する別の方法です。Facade を使用するには、コンテナーに移動して自分でコンテナーを取得し (コンテナーをサービス ロケーターとして使用します)、Contract を使用するには、コンテナーが依存関係を注入するのを待ちます。 。

いいねを押す +0
曾经蜡笔没有小新

Facadeとは、簡単に言うと、class_alias関数を使ってサービスコンテナにバインドされたサービスにエイリアスを与えることです
例えばAppはContainerクラスに相当します。

契約とは、その名のとおり、双方が認識し遵守するルールであり、「インターフェース」にもそのような特徴があり、「インターフェース指向のプログラミング」であるべきだと投稿者は問いました。わかりやすく説明してください。私はまだ経験が浅いので、投稿者にはもっと練習と経験が必要です。ご容赦ください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート