свои классы вместо PDOStatement

tf

крылья рулят
свои классы вместо PDOStatement

разбираю свой старый код, пробую переписать работу с базой на pdo
в общем хочу в класс PDOStatement добавить пару своих функций, но возникает проблема - prepare возвращает четко определенный тип PDOStatement, и ничего с этим не сделать, в общем что хочу сделать:
PHP:
class cmfPDO extends PDO {

	public function prepare($query, $opt) {
		return (cmfPDOStatement)parent::prepare($query, $opt);
	}

	public function query($query) {
		return (cmfPDOStatement)parent::query($query);
	}

}
class cmfPDOStatement extends PDOStatement {

	public function fetchAssoc() {
		return $this->fetch(PDO::FETCH_ASSOC);
	}

	public function fetchRow() {
		return $this->fetch(PDO::FETCH_NUM);
	}

}
но (cmfPDOStatement) - это то чего нет в php, насколько я помню есть функции для добавлений в уже определенные классы функий, но вроде как в pecl
реально ли это сделать как то по другому или нет?
единсвенное что приходит в голову это беганье с
PHP:
 return new cmfPDOStatement(parent:: prepare($query, $opt))
поменял тему на более релевантную. zerkms.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а еще на PHP нельзя грабить корованы

-~{}~ 26.05.09 15:49:

чем делегирование не подходит?
 

zerkms

TDD infected
Команда форума
но возникает проблема - prepare возвращает четко определенный тип PDOStatement, и ничего с этим не сделать
ложь и провокация

$db->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('customStatementClass'));
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
ух ты, я тоже не читал, прикольно!
надо будет свой класс написать
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Черт, я тоже лоханулся, решил аггрегированием...
 

Raziel[SD]

untitled00
Автор оригинала: tf
zerkms, спасибо, эту часть функций я просто не читал, думал они за соединение отвечают)
ложь и провокация :)))

Читал, последний параметр в конструкторе PDO :)
 
Сверху