BaseController.php 1.4 KB
<?php

namespace app\api\controllers;


use Yii;
use yii\rest\Controller as RestController;
use yii\filters\ContentNegotiator;
use yii\web\Response;
use yii\filters\VerbFilter;
use common\helpers\Log as AppLog;
use function str_replace;
use function json_encode;
use function explode;


class BaseController extends RestController
{
    /** @var \yii\web\request **/
    public $request;
    /** @var \yii\web\response **/
    public $response;
    /** @var \yii\web\User **/

    const LOG_DEBUG = true;

    public function myBaseLog($str)
    {
        if (!LOG_DEBUG) {
            return false;
        }
        AppLog::DEBUG($str);
    }

    /** @inheritdoc **/
    public function behaviors()
    {
        return [
            'contentNegotiator' => [
                'class' => ContentNegotiator::className(),
                'formats' => [
                    'application/json' => Response::FORMAT_JSON
                ],
            ],
            'verbFilter' => [
                'class' => VerbFilter::className(),
                'actions' => $this->verbs(),
            ],

        ];
    }

    /**
     * @return string
     */
    public function postData($actionId)
    {
        $getPostData = file_get_contents('php://input', 'r');
        if (!$actionId) {
            $actionId = $this->getRoute();
        }
        $this->myBaseLog($actionId.':'. $getPostData);

        return $getPostData;
    }

}