Servus,
ich hab ein Problem mit einer von PDO abgeleiteten Klasse.
Wenn ich eine feste Parameterliste kann ich ja per parent::Methode einfach direkt ansprechen aber was ist wenn ich nicht weis wieviele Parameter ich habe muss ich dann extra den Weg über eine If oder Case machen und dementprechenden direkt callen oder kann ich auch die internen Funktionen nehmen die PHP für variable Parameterlisten angedacht hat?
PHP-Code:
<?php
class PDO2 extends PDO
{
/**
*
* @link http://www.php.net/manual/en/pdo.query.php
*/
public function query()
{
$func_args = func_get_args();
$func_args[0] = $this->replacePlaceholder($func_args[0]);
return call_user_func_array("parent::query", $func_args);
}
/**
*
* @param $sql
* @return string
*/
protected function replacePlaceholder($sql)
{
if (strlen(trim($this->_table_prefix))>0)
{
return preg_replace("/{#(.*?)}/", $this->_table_prefix . "_$1", $sql);
} else
{
return preg_replace("/{#(.*?)}/", "$1", $sql);
}
}
}
?>
ps: in 5.3.0 Alpha scheint das bereits möglich zu sein aber in 5.2.6 noch nicht gibt es da vielleicht ne Alternative?