for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace app\modules\admin\controllers;
use Yii;
use app\controllers\ControllerTrait;
use app\modules\admin\models\forms\SettingsForm;
class SettingsController extends \yii\web\Controller
{
use ControllerTrait;
public function actionIndex()
$model = new SettingsForm();
if (Yii::$app->request->isPost) {
Yii::$app->response->format = 'json';
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
Yii::$app->settings->load($model->getAttributes());
Yii::$app->session->setFlash('success', Yii::t('app', 'Saved successfully'));
return $this->refresh();
}
return $this->asJsonModelErrors($model);
$model
object<app\modules\admin...els\forms\SettingsForm>
object<app\controllers\y...ollers\yii\base\Model>>
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
$model->setAttributes(Yii::$app->settings->all());
return $this->render('index', ['model' => $model]);
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: