Как определить HTTP-метод в CodeIgniter

Как я могу определить метод HTTP в классе контроллера CodeIgniter?

Отредактировано: Есть ли другой способ, кроме использования $_SERVER['REQUEST_METHOD'] в CodeIgniter?


person Sgn.    schedule 25.06.2012    source источник
comment
возможный дубликат типа запроса обнаружения PHP (GET, POST, PUT или УДАЛИТЬ)   -  person Esailija    schedule 25.06.2012
comment
Я знаю это, но правильно ли использовать переменную $_SERVER в CodeIgniter?   -  person Sgn.    schedule 25.06.2012
comment
как вы используете любую другую переменную   -  person Esailija    schedule 25.06.2012


Ответы (3)


Благодаря Брандену я нашел ответ. $this->input->server($index) идентичен $_SERVER[$index].

Чтобы получить метод, вы можете использовать: $this->input->server('REQUEST_METHOD').

ОБНОВЛЕНИЕ: (спасибо Ecir Hana)

Начиная с CodeIgniter 3, также возможно использование метода:

echo $this->input->method(TRUE); // Outputs: POST
echo $this->input->method(FALSE); // Outputs: post
echo $this->input->method(); // Outputs: post
person Sgn.    schedule 25.06.2012

В CodeIgniter 3 вы можете использовать метод uhm ... класса ввода .

Из документов:

echo $this->input->method(TRUE); // Outputs: POST
echo $this->input->method(FALSE); // Outputs: post
echo $this->input->method(); // Outputs: post
person Ecir Hana    schedule 02.06.2015

Вы можете обнаружить GET и POST с помощью библиотеки ввода.

$this->input->post() or $this->input->get()

Дополнительную информацию можно найти: http://ellislab.com/codeigniter%20/user-guide/libraries/input.html

person Branden Martin    schedule 25.06.2012
comment
Из документации $this->input->post(); // returns all POST items without XSS filter, так что это не отвечает на вопрос. Поскольку он получает данные вместо обнаружения метода HTTP. - person Thomas Welton; 28.05.2013
comment
Не работает, если запрос (например, пост) не содержит данных. - person Korri; 09.01.2015