タグ

ブックマーク / qiita.com/hirossyi73 (1)

  • [PHP]Traitにコンストラクタを作成するのは、呼ばれない可能性があるのでよろしくない - Qiita

    はじめに PHPには「Trait」という機能があります。 通常のクラスの継承は、1つのクラスしかできませんが、traitを使用すれば、複数のクラスの変数や関数などを使用することができるので、とっても便利です。(説明ざっくり) が、実際にコーディングしていて気付いたのですが、traitのコンストラクタにはちょっと、気を付けた方が良さそうです。 というのも、traitのコンストラクタは、実装方法によっては呼ばれない可能性が非常に高いです。 検証 実際に検証してみました。今回はLaravelを採用します。 やりたいこと クラス、抽象クラス、traitそれぞれにコンストラクタを設け、それぞれのコンストラクタをすべて実行する パターン1:抽象クラスとtraitの同時実装 まずは、抽象クラスとtraitを作成してみます。

    [PHP]Traitにコンストラクタを作成するのは、呼ばれない可能性があるのでよろしくない - Qiita
  • 1