$_GET

Снова не пойму, баг или фича... Почему, после обработки Request, параметр url остается в $GET? Ведь это явно временный параметр только для Request и нигде больше использоваться не должен. Или я ошибаюсь? Как проверить, что кроме данного параметра в $GET больше ничего нет? В kohana подобный параметр удаляется после обработки и можно использовать if (!empty($GET))...



7.2k

Наверное, потому что это не Kohana и, потому что с ресурсом $_GET уже давно не принято работать напрямую. Используйте в контроллере ```php $this->dispatcher->getParams(); ``` Because Phalcon doesn't Kohana. Use ```php $this->dispatcher->getParams(); ``` , please.



6.3k

if (empty($this->dispatcher->getParams())) можно использовать только с 5.5 версии, верно? Но хотя бы так, спасибо...



6.3k

Однако все-равно не понятно, для чего оставлять данный параметр в $_GET. Есть идеи?



6.3k

И разве $this->dispatcher->getParams() выдаст $GET? Вроде как параметры роута, не? Имелось в виду $this->request->getQuery? Но, как тогда удостовериться (без использования $GET), что в $_GET ничего кроме _url нет?



7.2k

1) Что вам мешает использовать URI запросы? 2) Т.к. url всегда первый в $GET, то можно ```php if ( !NULL == arrayshift($GET) ) { vardump($GET); } else { echo '_GET is empty'; } ``` Или использовать аналогичный запрос Phalcon.



6.3k
  1. Ничего не мешает, но в данной ситуации $_GET удобнее и привычнее.
  2. Как вариант, но это не ответ на вопрос "почему". Пока сделал так:

if (isset($GET['url'])) { unset($GET['url']); }

Грязно, но использовать удобнее.

Phalcon старается не изменять переменных окружения, позволяя использовать отдельные компоненты в других фреймворках без страха их поломки.