Leider wurde die quoteInto()
Methode mit der Einführung der neuen Zend\Db
in ZF 2.0 entfernt. Und es gibt kein Äquivalent, das genau dasselbe Verhalten hat.
In ZF2 gibt es die quoteValue()
Methode. Diese Methode verwendet einen Wert als Parameter und gibt den Wert an, sodass Sie ihn als Wert in eine SQL-Abfrage einfügen können.
Sie könnten jedoch quoteValue()
verwenden, um das Verhalten der ZF1 quoteInto()
Methode zu replizieren. Sie könnten einfach den Code der quoteInto()
Methode von ZF1, und wenden Sie die quoteValue()
Methode von der Plattform Objekt in ZF2 es:
// modified quoteInto() function for ZF2
function quoteInto($text, $value, $platform, $count = null)
{
if ($count === null) {
return str_replace('?', $platform->quoteValue($value), $text);
} else {
while ($count > 0) {
if (strpos($text, '?') !== false) {
$text = substr_replace($text, $platform->quoteValue($value), strpos($text, '?'), 1);
}
--$count;
}
return $text;
}
}
Es gibt einige Unterschiede. ZF1 hat einen $type
Parameter, aber wegen der Art und Weise, wie ZF2 mit diesen Dingen arbeitet, macht der Typ Parameter wenig Sinn. Und es gibt einen $platform
Parameter, weil diese Methode eine Abhängigkeit von der Plattform für die quoteValue()
Methode hat.
'quoteInto' nimmt zwei Parameter: die Zeichenfolge und der ersetzte Wert, aber' quoteValue' benötigt nur 1 Parameter. Wie soll ich es benutzen? –