Решение проблемы при наследовании PDOStatement в PHP 5.3

Хотел бы кратко рассказать о решении проблемы когда при расширении своего класса классом PDOStatement например такого вида


class DBStatement extends PDOStatement {

protected $DBH;

protected function __construct($DBH) {
$this->DBH = $DBH;
}

public function execute(array $input_parameters = null) {
try {
parent::execute($input_parameters);
return $this;
} catch (Exception $exc) {
$this->DBH->error($exc->getMessage());
}
}

}

Возникает ошибка:


Strict Standards: Declaration of DBStatement::execute() should be compatible with that of PDOStatement::execute()

Решается это просто. Убираем array при объявлении функции execute($input_parameters = null)

Добавить комментарий