PHPでチェーンメソッドを実装したい時は以下のように$thisをReturnするメソッドを書くと良いです.
class Chain { private static $instance; private function __construct(){} public static function getInstance() { if (!self::$instance) self::$instance = new Chain; return self::$instance; } public function method1() { echo('method 1'); return $this; } public function method2() { echo('method 2'); return $this; } }
ここで,constructをprivateで定義することで,他のクラスからnewすることができなくなり,staticで$instanceを定義することで以下のようにして呼び出すことができます.
>>> Chain::getInstance()->method1()->method2(); => 'method 1' 'method 2'