Как расширить класс SQLite3Result

Это то, что я придумал до сих пор:

class SQLite3_extended extends SQLite3 {
public function query($string){
$result = parent::query($string);
if(is_bool($result))
return $result;
else
return new SQLite3Result_extended($this);
}
}

class SQLite3Result_extended extends SQLite3Result {
public function test(){
echo 'SQLite3Result extended successfully!';
}
}

И я получаю это: Неустранимая ошибка: вызов частного SQLite3Result :: __ construct () из контекста ‘SQLite3_extended

КАК расширить класс SQLite3Result?

0

Решение

Ты не можешь SQLite3Result класс может быть создан только внутри SQLite3::query(); нет способа создать экземпляр этого класса или подкласса самостоятельно.

Если вы хотите расширяемый класс базы данных, используйте PDO. Вы можете использовать пользовательский подкласс для заявлений / результатов, вызвав PDO::setAttribute() с PDO::ATTR_STATEMENT_CLASS аргумент. В качестве бонуса, это может позволить вам поддерживать движки баз данных, кроме SQLite.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector