PHPでクラスの Setterメソッド を実装中に思ったのですが、PHPの Setterメソッド で戻り値に自分自身のオブジェクト($this)を返している実装を見かけました。私は Java 出身者です(実務経験は少ないです・・・)。これまでの経験上、特別な理由がない限り、Java で Setterメソッドに戻り値を指定することがありませんでした。なぜでしょうか?調べてみました。
| 調査項目 |
PHPのクラスでSetterメソッドに自分自身($this)を戻り値にする理由が知りたい。
| 調査結果 |
チェーンメソッドを使用するため。
| サンプル |
チェーンメソッドのサンプルです。
class EmployeeBean {
/**
* 従業員コード
* @var string
*/
private $cdEmployee;
/**
* 従業員名称
* @var string
*/
private $nmEmployee;
public function getCdEmployee() {
return $this->cdEmployee;
}
public function setCdEmployee(string $cdEmployee) {
$this->cdEmployee = $cdEmployee;
return $this; //どうして自分自身を返すの?
}
public function getNmEmployee() {
return $this->nmEmployee;
}
public function setNmEmployee(string $nmEmployee) {
$this->nmEmployee = $nmEmployee;
return $this; //どうして自分自身を返すの?
}
}
$emp = new EmployeeBean();
$emp->setCdEmployee('12E0001')->setNmEmployee('山田 太郎');
| 参考資料 |
以上

0 件のコメント:
コメントを投稿