Пишу в адресе option=com_test&task=TestTask&foo= Код (PHP): $jinput = JFactory::getApplication()->input; $foo = $jinput->get('foo', 'undefined', 'GET','STRING'); //var_dump($foo); получаю string(0) "" Однако согласно документации (https://docs.joomla.org/J1.5:Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar) Код (PHP): $address = JRequest::getVar('address', 'default value goes here', 'post','variable type'); Почему не пишется "undefined"? Всё в той же документации написано А как фильтровать с FILTER_VALIDATE_URL например? удалять html я как понимаю с помощью маски согласно всё той же документации или мне надо писать Код (PHP): filter_var($jinput->get('foo', 'undefined', 'GET','STRING'), FILTER_VALIDATE_URL)
https://docs.joomla.org/Retrieving_request_data_using_JInput Ну ты же получил переменную,а фильтр не проверяет на Null, потому и не получаешь в результат значение по умолчанию. Это уже потом проверяй Код (PHP): <?php if(empty($foo)) echo 'Переменной $foo не присвоено значение';?>
А к чему тогда в той же документации написано строка в которой есть Код (PHP): $address = JRequest::getVar('address', 'default value goes here', 'post','variable type'); Разве тут уже не проверяется на пустоту? К слову в твоей ссылки примерна та же строка Код (PHP): $foo = $jinput->get('varname', 'default_value', 'filter');
Вот что в приведённой ссылки написано Вот и вопрос если то самое "default_value" не проверяет на пустоту полученную переменную что эта за дефолтное значение для чего оно тогда нужно?
Так в этом та и соль вся что оно по умолчанию только если в запросе НЕТУ ВООБЩЕ данной переменной а если пустая или не пустая самому проверят как писали выше тогда мне не понятно зачем нужна.... и как это дофолтное значение использовать....
Как обычное значение. Что не так- есть переменная в запросе- используется значение переменной, нет переменной- используется значение по умолчанию. Есть желание посмотреть на фактическое использование фильтрации полученных данных в запросе - рекомендую ознакомиться с классом vRequest Вирт 2
Большое спасибо Теперь понятно мне что и зачем.... Твой ответ дал ответ на мой вопрос тему можно закрывать....