@Kostik_1993
Web Developer

Как называется такой вызов функции?

Подскажите как называется такой вызов функции? И по возможности дайте ссылку на литературу

Например когда к функции table() добавляется еще paginate()

$users = DB::table('users')->paginate(15);
  • Вопрос задан
  • 302 просмотра
Решения вопроса 1
DevMan
@DevMan
это чейнинг, он же цепочка методов.
https://en.wikipedia.org/wiki/Method_chaining
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@faragly
Сейчас реализовываю подобный читаемый код для класса, хотел реализовать текучий интерфейс, избавиться от объявления new ClassName; и нашел подобный код и собрал у себя в классе:
class MyClass {
    private $data = [];
    private static $instance;

    public function __construct(array $config = []) {}

    public static function init(array $config = [])
    {
        if(!isset(self::$instance)) { 
            $c = __CLASS__;
            self::$instance = new $c($config); 
        } 
        return self::$instance; 
    }

    public function get()
    {
        return $this;
    }

    public function toJson()
    {
        echo json_encode($this->data);
    }
}

и далее я могу вызывать класс с опциями так:
$myclass = new MyClass(['id' => 123]);
$myclass->get()->toJson();

или одной строчкой
MyClass::init(['id' => 123])->get()->toJson();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы