Я знаю, как связать методы класса (с помощью "return $this" и всех), но то, что я пытаюсь сделать, это связать их по-умному, взгляните на это:
$albums = $db->select('albums')->where('x', '>', '20')->limit(2)->order('desc');
Что я мог понять из этого примера кода, так это то, что первые 3 метода (select, where, limit) создают запрос, который будет выполнен, и последний (заказ) приходит, чтобы закончить оператор, а затем выполняет его и отбрасывает результат, правильно?
Но это не так, потому что я могу легко отказаться от любого из этих методов (кроме "выбрать", конечно) или, что более важно, изменить свой порядок, и ничто не пойдет не так! Это означает, что метод "select" обрабатывает работу, не так ли? Затем, как другие 3 метода добавляют/влияют на запрос после того, как метод "select" уже был вызван!??