Обработка допустимых $_GET
Всем привет.
Есть сайт на котором все ссылки вида mysite.com/yyyyyyyy То есть если что то вдруг такое mysite.com/yyyyyyyy/ или такое mysite.com/yyyyyyyy/ххххх То 404 ошибка Но вот незадача. Есть страницы наборов типа mysite.com/yyyyyyyy/page1...n Для того что бы их обрабатывать делаю проверку типа: $acceptIndex = unserialize (INDEX); !in_array($this->index, $acceptIndex) $this->index хранит как раз часть урла (THIS_PART) mysite.com/THIS_PART а хранятся слова так:
define ("INDEX", serialize (array ("news", "doctors")));
Короче все классно, но как сделать так что бы например я сделал тот же массив и для GET вида mysite.com/?search=YYYYY mysite.com/?404 Не хочу их писать руками, а то условия будут на пол страницы) Благодарен за любую мысль. |
/* Проверка наличия ключевого слова по массиву определенных значений */
protected function checkGetIncluding() {
$acceptGet = unserialize (GET);
foreach($acceptGet as $index => $get) {
if(isset($_GET[$get])) {
return true;
}
}
return false;
}
&& ! self::checkGetIncluding()
define ("GET", serialize (array ("404", "search")));
Может лучше что прийдет в голову? |
function compliance($x = array(), $externalData)
return array_intersect_assoc($x, $externalData) == $x;
}
и соответственно примеры. 1 аргумент - значение - массив условий, второе где проверяем. Результат True если все условия из массива находятся в, $externalData, иначе False
if(compliance(array('option'=>'com_content', 'view'=>'article'), $_GET){}
if(compliance(array('page'=>'1'), $_POST){}
|
очешуенно
|
| Часовой пояс GMT +3, время: 21:53. |