<?php /** * Created by Error202 * Date: 22.08.2018 */ namespace common\modules\banners\controllers; use common\modules\banners\entities\Banner; use common\modules\banners\services\BannerManageService; use frontend\components\FrontendController; use yii\web\NotFoundHttpException; class BannerController extends FrontendController { private $_service; public function __construct(string $id, $module, BannerManageService $service, array $config = []) { parent::__construct($id, $module, $config); $this->_service = $service; } public function actionView() { $id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT); if (\Yii::$app->request->isAjax && $id) { $banner = $this->findModel($id); $this->_service->addView($banner); } } public function actionClick() { $id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT); if (\Yii::$app->request->isAjax && $id) { $banner = $this->findModel($id); $this->_service->addClick($banner); } } protected function findModel($id): Banner { if (($model = Banner::findOne($id)) !== null) { return $model; } throw new NotFoundHttpException('The requested banner does not exist.'); } }