オープンソースのWeb開発向けスクリプト言語「PHP」の文法を一から学ぶための入門連載「Web業界で働くためのPHP入門」。 今回は、クラスに対して横断的に機能を追加できる「トレイト」について解説します。 「トレイト」とは トレイトは、継承とはまた別の方法でクラスを拡張できる仕組みです。最初に少し概論的な話をしておきましょう。 垂直方向にクラスを拡張する継承の問題点 連載第17回でクラスを拡張できる仕組みとして継承を解説しました。その継承は親クラスを文字通り引き継ぎ、そこに子クラス独自のプロパティやメソッドを追加することで拡張します。例えば、スポーツ選手を表すSportsPlayerクラスがあったとします(リスト1)。 <?php class SportsPlayer { //名前のプロパティ。 private $name; //コンストラクタ。名前プロパティに値をセットする。 publi