現在、私は10年前に書かれたウェブサイトをレビューしています。これらのウェブサイトは、PHP用の古いMySQL APIを使用しています。 PHPはバージョン5.3以降にアップグレードされていないため、古いAPIから各データベース要求をPDOに書き直す必要があります。PHP関数で引数のリファレンスを自動的に取得できますか?
元のコーダーは、INSERT、SELECTおよびUPDATE要求をラップするオブジェクトを各テーブルに作成しています。
多くの行があるテーブルでは、各オブジェクトのラップされた要求の各引数を引用するのは非常に辛いです。そこには数十のサイトが必要です。
だから、私は
後...ループ内でこれらを取得することにより、関数の各引数を引用に費やす時間を削減し、各関数内の2行のコードでそれらのそれぞれを引用する方法を考えますPHPのマニュアルを見て、それは関数の引数の参照を取得する方法がないようだ。私はそれらをコピーまたはカウントすることができますが、参照を取得することはできません。
この仕事に迷惑をかけるようなアイデアやヒントはありますか?ここで
は私がやるべきでないものの例である:
public function insert($titre, $tva, $intra, $remise = 0,
$tx_remise = 0, $frais = 0, $code = 0, $nom = '',
$design = '', $adr = '', $cp = '', $ville = '',
$tel = '', $fax = '', $rcs = '', $marq = '',
$marq_g = '')
{
$ville = htmlspecialchars($ville);
$design = htmlspecialchars($design);
$nom = htmlspecialchars($nom);
$adr = htmlspecialchars($adr);
$marq = htmlspecialchars($marq);
$marq_g = htmlspecialchars($marq_g);
$titre = $this->db->quote($titre);
$tva = $this->db->quote($tva);
$intra = $this->db->quote($intra);
$remise = $this->db->quote($remise);
$tx_remise = $this->db->quote($tx_remise);
$frais = $this->db->quote($frais);
$code = $this->db->quote($code);
$cp = $this->db->quote($cp);
$tel = $this->db->quote($tel);
$fax = $this->db->quote($fax);
$rcs = $this->db->quote($rcs);
そして私は約やりたい:
public function insert(...)
{
foreach($function->argumentsReference as $ref)
$ref = quote($ref)
もちろん$関数が実際のオブジェクトではありませんそれは私のアイデアをコードで説明する単なる方法です。
ありがとうございました。これについて
どのように? –
func_get_args()は、コピーされた引数の配列を返します。引数がコードの後半で再利用されるため、実際に必要なものではありません。 –