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 件のコメント:
コメントを投稿