今日初めてトレイトを使ったからまとめとく。
#トレイトとは
PHPのバージョン5.4.0から導入されたコードの再利用性を高めるための機能。
トレイトは任意のクラスの機能(メソッド)を拡張できる仕組み。
####トレイトの定義方法
trait.php
<?php
trait Language{
public function aiueo(){
print 'あいうえお';
}
public function kakikukeko(){
print 'かきくけこ';
}
}
####トレイトの利用方法
human.php
<?php
require_once 'trait.php';
class Human{
//クラスの中で宣言する
//宣言するとトレイトの中で定義したメソッド aiueo(), kakikukeko()が使える
use Language;
public $name = '田中';
public $age = 20;
public function greet(){
print $name . 'です。' . $age . '歳です。';
}
}
$human1 = new Human();
//trait.phpで定義したメソッドの呼び出し
$human1->aiueo();
####答え
$ php human.php
あいうえお
継承していなくてもメソッドが使えた。
トレイト使うことで設計の幅が広がりそう。