Я недавно унаследовал приложение, написанное с использованием ZF, с различными полями, зашифрованными в БД.Существует множество моделей, расширяющих Zend_Db_Table_Abstract с помощью кода, подобного этому примеру -
<?php
class Partner extends Zend_Db_Table_Abstract {
protected $_name = 'partner', $_primary = 'id';
public function createPartner( $mobile ){
$id = $this->insert( array(
'mobile' => new Zend_Db_Expr("AES_ENCRYPT('$mobile', 'random_key')"),
'createdOn' => date('Y-m-d H:i:s', mktime())
) );
$res = $this->find($id);
return $res->current();
}
}
?>
Моя проблема с этим кодом заключается в том, что $ mobile передается буквально в запрос.Каков самый чистый способ изменить способ установки этого значения, чтобы он использовал quoteInto или какой-либо другой метод, который использует заполнители для параметризации запроса?