Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Параметры запроса yii 2

Параметры запроса

Чтобы получить параметры запроса, вы должны вызвать методы [[yii\web\Request::get()|get()]] и [[yii\web\Request::post()|post()]] компонента request. Они возвращают значения переменных $_GET и $_POST соответственно. Например,



$request = Yii::$app->request;

$get = $request->get(); 
// эквивалентно: $get = $_GET;

$id = $request->get('id');   
// эквивалентно: $id = isset($_GET['id']) ? $_GET['id'] : null;

$id = $request->get('id', 1);   
// эквивалентно: $id = isset($_GET['id']) ? $_GET['id'] : 1;

$post = $request->post(); 
// эквивалентно: $post = $_POST;

$name = $request->post('name');   
// эквивалентно: $name = isset($_POST['name']) ? $_POST['name'] : null;

$name = $request->post('name', '');   
// эквивалентно: $name = isset($_POST['name']) ? $_POST['name'] : '';

Info: Вместо того, чтобы обращаться напрямую к переменным $_GET и $_POST для получения параметров запроса, рекомендуется чтобы вы обращались к ним через компонент request как было показано выше. Это упростит написание тестов, поскольку вы можете создать mock компонент запроса с не настоящими данными запроса.

При реализации RESTful API, зачастую вам требуется получить параметры, которые были отправлены через PUT, PATCH или другие методы запроса. Вы можете получить эти параметры, вызвав метод [[yii\web\Request::getBodyParam()]]. Например,

$request = Yii::$app->request;

// возвращает все параметры
$params = $request->bodyParams;

// возвращает параметр "id"
$param = $request->getBodyParam('id');

Info: В отличии от GET параметров, параметры, которые были переданы через POST, PUT, PATCH и д.р. отправляются в теле запроса. Компонент request будет обрабатывать эти параметры, когда вы попробуете к ним обратиться через методы, описанные выше. Вы можете настроить способ обработки этих параметров через настройку свойства [[yii\web\Request::parsers]].

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'