Например, я видел сторонних приложений, которые имеют такие функции, как это:Как вы создаете вложенные методы в PHP?
$db->select('columns')->from('table')->where('condition');
Это просто пример. Как вы создаете такие методы?
Например, я видел сторонних приложений, которые имеют такие функции, как это:Как вы создаете вложенные методы в PHP?
$db->select('columns')->from('table')->where('condition');
Это просто пример. Как вы создаете такие методы?
Для этого каждый из методов должен возвращать $this
экземпляр класса, который содержит методы.
class MyClass {
public function select($x){
// do something
return $this;
}
public function from($x){
// do something
return $this;
}
public function where($x){
// do something
return $this;
}
}
Внутри этих методов вы обычно выполняете какую-либо модификацию состояния объекта.
В вашем примере методы просто возвращают объекты. Таким образом, $db->select()
возвращает объект с методом from()
, который возвращает объект с помощью метода where()
.