Как вы управляете большими URL-адресами (с большим количеством параметров запроса) в своем приложении?
Например, посмотрите эту ссылку на ebay (не нажимайте на ссылку, это просто пример большого URL-адреса)):
http://www.ebay.com/sch/Cameras-Photo-/625/i.html?LH_ItemCondition=1&LH_Price=15..500%40c&rt=nc&LH_Auction=1&LH_BIN=1&_nkw=nikon&_catref=1&_clu=2&_fcid=12&_fln=1&_localstpos=&_mPrRngCbx=1&_sc=1&_sop=15&_stpos=&_trksid=p3286.c0.m283&gbr=1
Вы можете увидеть множество параметров, многие из которых со странными и короткими именами, такими как "_f", "_sc" и т. Д.
ВыВы не можете использовать эти параметры в своем приложении, вам нужно преобразовать их во что-то более «читабельное»:
$readableName = $_GET['_f'];
, но тогда вы получите множество переменных, и, вероятно, вам понадобятся все из них в функции.Таким образом, вместо нового var для каждого параметра запроса мы можем использовать массив:
$readableParams['readableName'] = $_GET['_f'];
Но затем мы заканчиваем большим массивом с произвольной структурой, поэтому я думаю, что лучшая идея - это иметьVO (DTO) для этих параметров, что-то вроде:
$filterVo = new FilterVo();
$filterVo->readableName = $_GET['_f'];
Это нормально, но куда мы поместим этот код?Я имею в виду, где лучше всего выполнить преобразование из «редких параметров запроса» в «очистить объекты значения»?
Поскольку нам также необходим обратный процесс, мы можем создать VO с данными, а затем сгенерировать URLс правильными параметрами запроса от этого VO.
Внутри VO?Вспомогательный класс URL?Просмотреть базовый класс модели?
Как вы управляете этими URL-адресами с большим количеством параметров?