[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Цепочка методов
DmitryOpalev
Есть у меня класс для запросов к бд (скелет):
class Db_Query {
private $_command, $_commandvalue, $_where, $_table;

public function select($cv="") {}

public function update($cv="") {}

public function from($from="") {}

public function where($where="") {}

public function query() {}
}

Первые четыре метода дают значения переменным класса. Метод query составляет сам запрос (в текстовом виде)
Теперь пытаюсь составить запрос:
$db = new Db_Query;
$query = $db->select()->from('news')->query();
echo $query;

Вывод:
Fatal error: Call to a member function from() on a non-object in

Знаю, что такой "цепочечный" вид доступен с php 5, у меня 5.4.6
В чем же ошибка?

_____________
Курс валют
tomash
цепочные методы по идее должны возвращать retutn $this

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
DmitryOpalev
tomash
метод query возвращает:
return $this->_command." ".$this->_commandvalue." FROM ".$this->_table...

или вы о другом?

_____________
Курс валют
tomash
нет методы которые вы хотите использовать в цепочке select update и т.п. должны возращать объект к которому пренадлежат.
 
public function select (){
// код
return $this;
}


_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
DmitryOpalev
Действительно, все работает, спасибо!

_____________
Курс валют
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.