Laravel のイベントとオブザーバー (4)

WBOY
リリース: 2016-06-20 12:30:26
オリジナル
879 人が閲覧しました

私も同感です。モデル イベントは非常にクールですが、場合によっては、もう少し高度なものが必要になります。

Laravel を使用するときは、基本的にオブジェクト指向プログラミングを使用することになります。また、モデル イベント (モデル イベントの高度なバージョン) であるモデル イベントと同じことのいくつかを実行する必要がある場合があります。

これを使用するには、次のような新しいクラスを宣言するだけです (オブザーバーと呼ばれる専用フォルダーに配置できます):

class BookObserver {    public function creating($book)    {      // I want to create the $book book, but first...    }      public function saving($book)      {          // I want to save the $book book, but first...      }      public function saved($book)      {          // I just saved the $book book, so....      }  }
ログイン後にコピー

次に、EventServiceProvider クラスに登録します。 boot() メソッドでは次のようになります。

Book::observe(new BookObserver);
ログイン後にコピー

この原則の概念は以前と同じであり、新しいものは何もありません。オブザーバーを使用すると、前のモデル イベントで学習した個々の概念を使用することもできます。必要なメソッドを宣言し、イベント識別子を使用して特定のイベントをバインドするだけです。したがって、作成イベントは、creating() メソッドなどに関連します。

明らかに、creating() や updated() などのフロント メソッドでこの操作を終了できます。

class BookObserver {    public function creating($book)    {      $somethingGoesWrong = true;      if($somethingGoesWrong)      {        return false;      }    }  }
ログイン後にコピー

それでは、いくつかのモデル オブザーバーの例を見てみましょう。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!