Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
if ($this->isPost() && ($data = $_POST)) {
if (Yii::app()->request->isPostRequest) {
isPost добавлен для семантики, в месте с методами isPut и isDelete которые обдадают расширенной функциональностью по ср. с базовыми — github.com/paysio/yii-rest-api/blob/master/library/rest/controller/Behavior.php. Да и просто так писать меньше =)($data = $_POST) в таком виде действительно особого смысла не имеет, но присутствует здесь т.к. работать с переменной $_POST напрямую — плохая практика, которая, между тем, в Yii используется. Хорошим примером является предоставление единой точки доступа, как, например, тут — github.com/zendframework/zf2/blob/master/library/Zend/Http/Request.phpYii::app()->request->getPost('name'), но почему-то исторически повелось обращаться напрямую…getPost оперирует с переменной $_POST public function getPost($name,$defaultValue=null)
{
return isset($_POST[$name]) ? $_POST[$name] : $defaultValue;
}
$this->postParams public function getPost($name = null, $default = null)
{
if ($this->postParams === null) {
$this->postParams = new Parameters();
}
if ($name === null) {
return $this->postParams;
}
return $this->postParams->get($name, $default);
}
$data = $_POST на этом месте должно быть что-то вроде $data = $this->getPost(), но даже в простом присваивании переменной $_POST к $data есть смысл, если в дальнейшем будет написано что-то вроде $data['user_id'] = Yii::app()->user->getId(); if (isset($_POST) && ($data = $_POST)) { // проверяем отправлен ли POST запрос
$data['user_id'] = Yii::app()->user->getId();
$model->attributes = $data; // пишем в модель новые атрибуты
if ($model->save()) { // проверяем атрибуты, если валидны - то сохраняем
$this->redirect(array('view', 'id' => $model->id));
}
}
{
"object":"list"
}
class Json implements AdapterInterface
{
...
/**
* Pretty-print JSON string from ZendFramework
*
* Use 'indent' option to select indentation string - by default it's a tab
*
* @param string $json Original JSON string
* @param array $options Encoding options
* @return string
*/
public static function prettyPrint($json, $options = array())
{
Удобное встраивание RESTful API в проект