PHP 5.4から利用できるtraitの利用例

(更新日: 2011/11/20)

PHP5.4からtraitが利用できるようになる事をご存知の方も多いと思います。

traitはコードの水平再利用を可能にする仕様拡張です。Rubyのmixinのような機能と言えば分り易いかも知れません。

誰でもtraitを利用したくなるようなコードをinternals@php.netのMLで見かけたので紹介しよう、と思って書いたのですがコピペしたコードをしっかり読んでなくておかしな所があった事を @sotarok さんに教えてもらいました。

元のコードは色々問題があるので書き直しました。こうやればアクセサーを沢山書く必要が無くなります。

https://gist.github.com/1379592 (読みやすいコードはこちらをどうぞ)

 

これをPHP 5.4で実行すると

Total cost: 60

と表示されます。

niigataの強敵現れる?!という事ではなく、個人的な好みとしてはread only属性が在ったほう便利だと思います。

注)niigataとは読めるけど書けないプロパティを作る、という昨年のPHPカンファレンスで発表されたPHPの拡張パッチです。多くの日本人は新潟を読めるけど、正しく書けない、という現実にちなんでつけられた名前だそうです。

さすがにniigataじゃ受け入れてもらえないだろうから普通の名前を考えるとしたら何が良いかな?

Comments

comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です