タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

traitに関するdelegateのブックマーク (2)

  • PHP のトレイトに気をつける - tototoshi の日記

    普段 Scala でトレイトを使いまくってるけれども PHP にも 5.4 からトレイトが入った。 trait の良いところは多重継承のできない言語で多重継承っぽいことができることだ。 use, use とつけていけば、いくらでも追加できる。DRY に書けてよいことだ。 対して悪いところはいとも簡単に複雑で暗黙的な依存関係が生まれることだ。 例えばこんなの <?php trait Greeting { public function say() { if ($this->location == 'ja') { echo 'こんにちは' . PHP_EOL; } else { echo 'Hello' . PHP_EOL; } } } class Location { } class US extends Location { use Greeting; private $location

    PHP のトレイトに気をつける - tototoshi の日記
  • PHP5.4 から導入された trait 機能の使いドコロ

    この記事はPHP Advent Calendar 2013の8日目の記事です。エントリではphp5.4の注目機能の1つであるtraitをどうやって扱うべきかを書いてみようと思います。 TraitとはTraitとは継承関係と関係なく実装を再利用できる仕組みのことです1。言い換えるならば、「多重継承」であったり「Mix-in」を可能にする仕組みと言えるでしょう。Rubyistの間ではMix-inの概念は当たり前のことでしょうが、PHP界隈ではTraitは新しい機能ということもあり浸透していない概念かと思います(Ruby以外にもTraitと似た機構はあるみたいですね2)。 エントリではPHPerの間では未だ聞き慣れないであろうTraitの概念を実コードとともに紹介してみようと思います。 Traitの特徴Traitの簡単な特徴は以下の通りです。 PHP5.4以降必須Trait自身のインスタンス

    PHP5.4 から導入された trait 機能の使いドコロ
  • 1