шо ви говорите?Иногда нужно из GET, иногда из POST, а иной раз и SESSION, COOKIE. Если писать обертку для всего этого, получается еще хуже.
$id_region = $get_search
? $this->getRequest()->getGet('id_region', 'decimal')
: $this->getRequest()->getCookie('id_region', 'decimal');
if ($id = $this->getRequest()->getRequest('id'))
{
// ...
Мне уже давно хочется перейти на эту ветку хотя бы из-за позднего статического связывания. Но пока не удалось убедить людей, что нужно поставить 5.3 вместо 5.2, которая входит в стандартную поставку РедХата (или что там у нас стоит, точно не помню). Типа, если производитель дистрибутива 5.3 не положил в дистрибутив, значит не стоит считать его достаточно стабильным. Я считаю стабильным релизы PHP через месяц-другой после выхода, а то пару раз было, что критические патчи выходили.Автор оригинала: newARTix
Резко захотелось перейти на эту ветку![]()
Вообще, твой вопрос плавно переходит в сторону объектного массива (http://community.livejournal.com/ru_php/1495679.html) и убогости реализации массивов-хэшей в PHP. Тут была тема, на меня все орали, что я не прав. Хотя я прав.а что если на входе в гет у меня лежит массив? ) Тогда что делать прикажете? )
Http_Request::getInstance()->getRequest()->a = array('b' => array('key' => 2));
echo (int)isset(Http_Request::getInstance()->getRequest()->a['b']['key']); // или
echo (int)isset(Http_Request::getInstance()->getRequest()->a->b->key); // или
echo (int)isset(Http_Request::getInstance()->getRequest('a')); // так нельзя
echo (int)isset(Http_Request::getInstance()->getRequest('a')->b); // так можно
echo (int)isset(Http_Request::getInstance()->getRequest('a')->b['key']); // и даже так можно
в том, что если я пишу $this->getRequest()->getGet('id_region'), то мне гарантированно будет возвращено значение. Это и есть УДОБСТВО. Именно для таких вещей и пишутся обертки. Это обертка над объектом запроса. Соответственно, она обладает иными функциями, о которых знают только избранные, вроде меня.В чем удобство?
$id = (isset($_REQUEST['id']) && is_numeric($_REQUEST['id']))? $_REQUEST['id'] : NULL;
$id = $this->api->request->getNumeric('id');
$request = $this->context->getRequest();
$this->toModel('Quantity', $request->getInt('Quantity'));
$this->toModel('BonusQuantity', $request->getInt('BonusQuantity'));
$this->toModel('Price', $request->getNum('Price'));
$this->toModel('Enabled', $request->hasVar('Enabled'));