Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** TSimpleDynamicSql class file.** @author Wei Zhuo <weizhuo[at]gmail[dot]com>* @link http://www.pradosoft.com/* @copyright Copyright © 2005-2008 PradoSoft* @license http://www.pradosoft.com/license/* @version $Id: TSimpleDynamicSql.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System.Data.SqlMap.Statements*//*** TSimpleDynamicSql class.** @author Wei Zhuo <weizho[at]gmail[dot]com>* @version $Id: TSimpleDynamicSql.php 2541 2008-10-21 15:05:13Z qiang.xue $* @package System.Data.SqlMap.Statements* @since 3.1*/class TSimpleDynamicSql extends TStaticSql{private $_mappings=array();public function __construct($mappings){$this->_mappings = $mappings;}public function getPreparedStatement($parameter=null){$statement = parent::getPreparedStatement($parameter);if($parameter !== null)$this->mapDynamicParameter($statement, $parameter);return $statement;}protected function mapDynamicParameter($statement, $parameter){$sql = $statement->getPreparedSql();foreach($this->_mappings as $property){$value = TPropertyAccess::get($parameter, $property);$sql = preg_replace('/'.TSimpleDynamicParser::DYNAMIC_TOKEN.'/', $value, $sql, 1);}$statement->setPreparedSql($sql);}}