この記事は Qiita の CakePHP3 Advent Calendar 2016 の5日目として投稿したものです。 皆さんは CakePHP3 におけるコンポーネントの存在意義について、どのようなお考えをお持ちでしょうか。 以前の CakePHP であれば、複数のコントローラに共通する処理がある場合、それをコンポーネントにまとめるというのはごく普通のことでした。しかし、 PHP5.4 でトレイトが登場したことによって状況は変わってきました。 特に PHP5.5.9 以上を対象にする CakePHP3 においては、コンポーネントに共通処理を書くことにあまりメリットを見出せていない方も少なくないかもしれません。コンポーネントの代わりにトレイトを使用している方もいらっしゃるかもしれませんね。 CakePHP3 のソースコードでもトレイトはふんだんに使用されています。また、 Cookbook