2015-06-03 8 views
1

я использую классы для некоторых типичных запросов MySQL, как получение определенных пользователей, новости и т.д., а потом я вызываю функцию query(), которая вызывает Mysqli класса и запрос и возвращает запрос следующим образом:PHP Изменения класса объекта

class Users { 
    [...] 
    public function query() { 
    $mysql = new mysqli([...]); 
    $mysql->query($this->query); 
    return $mysql; 
    } 
} 

Когда я использую его для ex. в $variable нравится:

$variable = new Users(); 
$variable->setNew($params)->query(); 

Я до сих пор хранится объект пользователей в $variable. Есть ли способ автоматически «обновить» переменную, которая будет объектом mysqli_result (в данном случае или в другом классе в ситуации simillar) без использования $variable = $variable->setNew($params)->query();?

Благодарим вас за советы.

ответ

2

Вы можете сделать это в один лайнер:

$variable = (new Users())->setNew($params)->query(); 

$variable теперь содержит возвращение query()

+0

Спасибо, но когда это будет более сложным (например, 3 или 4-х классов в последовательности), будет ли это работать, когда я остановлю его посередине? Например: '$ var = (new Users()) -> callClassA();' '$ var-> callClassB;' – Gomi

+0

@Gomi Я не уверен, понимаю ли я, можете ли вы привести мне пример? – Daan

+0

Извините, я отправил его раньше. Пример выше. – Gomi