laravelのトレイト(trait)

laravelを使う中で色々調べていると「トレイト」という言葉が出てきますが、これはPHP5.4以降でサポートされている多重継承の仕組みで、laravelの中でもよく使われています。

例えば、以下はlaravelのapp/Http/Controllers/Auth/の配下に最初から入っているRegisterController.phpになります。(中身は省略しています)

use Illuminate\Foundation\Auth\RegistersUsers;

で呼び出して

use RegistersUsers;

で継承しています。

extends ControllerでまずControllerを継承し、RegistersUsersも継承していることになります。

RegistersUsersも継承しているので、RegistersUsers内のregisterメソッドをオーバーライドして中身を上書きすることもできます。

 

投稿者について

今西 竜太

株式会社ビットアークス代表取締役。
1976年4月生まれ、京都府出身。
PHPフレームワークを使いWebシステム開発をしてきました。