kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

PHPのtraitってなに??

PHPのtrait機能が理解できないため、調べています。

PHP: トレイト - Manual

5.4から導入されたため、最近まで知らなかった機能だったりします。

少し調べて、多重継承と思えばいいのかと思ってますが、多重継承はあまり好きじゃないので、もっと使い方を理解しないと書こうと思えない機能だったりします。

振る舞いを水平方向で構成

振る舞いを水平方向で構成できるようになります

PHPの公式リファレンスで、書かれているが「振る舞い」を複数付与したクラスが作れるみたいです。

やっぱり使い方しだいだよね。

componentに似ている?

cakePHPのcomponentの扱いと同じ印象でみてもいいのかと思っている。

ただcakePHPはクラスの初期化を一斉にやっているだけだから、継承とかとは違うけど、機能として利用できるようになる点では同じかな。と思う。

と思っていたけど、違うよなぁー。しっくりこない。

Singletonの利用

サンプルを見ていると、SingletonのTraitがしっくり来ました。

SingletonのTraitを利用するだけで、クラスがSingletonになるとかすごい便利です。

たしかに最近Larabel触ったときも、簡単にSingletonができたけど、これを利用した感じなのかな。

デザインパターンみたいな決まった書き方にはとても良さそうです。

フレームワークのソースを読んでみるのがいい気がしてきました。

たぶん実際に使われているのを見ないと、イメージできない人間なのでいいサンプルをたくさん見たいです。(想像力がないだけです)

PHPの知識も追いついてないと実感

タイプヒンティングとか、Opcacheとか、最近しったことが多いです。

一度5.3以降の機能は読んでおきます。