Есть ли у zf2 псевдоним для urlencode
?
В zf2, если я хочу сделать rawurlencode
, Я использую:
$escaper = new Zend\Escaper\Escaper();
echo $escaper->escapeUrl('hello world');
Какие выводы:
hello%20world
Тем не менее, как бы я позвонил urlencode
? Желаемый результат:
hello+world
Если краткий ответ, что мне просто нужно позвонить urlencode
напрямую, тогда так тому и быть.
Краткий ответ — нет. Родной rawurlencode()
Функция производит вывод в соответствии с RFC 3986 тем не мение urlencode()
не является. Это основная мотивация использования rawurlencode в escapeUrl()
метод. Я думаю, у вас есть два варианта в этом случае;
A. Вы можете попробовать расширить собственный Escaper и переопределить метод escapeUrl ():
namespace My\Escaper;
use Zend\Escaper\Escaper as BaseEscaper;
class Escaper extends BaseEscaper
{
/**
* {@inheritDoc}
*/
public function escapeUrl($string)
{
return urlencode($string);
}
}
B. Вы можете просто использовать urlencode()
как сказано в комментариях @ cheery, это нативная функция. (Лично я думаю, что это самое простое решение)
ОБНОВИТЬ:
Вы также можете захотеть прочитайте этот ответ о разнице между urlencode и rawurlencode в глубине.
Других решений пока нет …