Указан неверный аргумент для foreach () yii-app-basic

1

У меня есть один модуль → пользователи.

->modules
    ->users
        ->controllers
        ->models
        ->views
        ->Users.php

Я создал "config.php" внутри "config" папки из "пользовательских" модулей.

->modules
    ->users
        ->config
            ->config.php
        ->controllers
            -> List of Controllers
        ->models
            -> List of models
        ->views
            -> List of Views
        ->Users.php

И я дал путь к каталогу config.php в методе init() Users.php, так как

Модули/пользователи /Users.php

<?php

namespace app\modules\users;

class Users extends \yii\base\Module
{
    public $controllerNamespace = 'app\modules\users\controllers';
    public $commonModel = 'app\modules\users\models\Users';

    public function init()
    {
        parent::init();
        \Yii::configure($this,require(__DIR__.'/config/config.php'));
    }
}

Но, это дает ошибку, как

Предупреждение PHP - yii\base\ErrorException
Msgstr "Недопустимый аргумент для foreach()".

Скриншот

Изображение 174551 Изображение 174551 Изображение 174551 Изображение 174551

Я беру ссылку из Yii2.0 Guide, чтобы включить путь внутри метода init().

Пожалуйста, помогите мне исправить эту проблему.

Благодарю.

  • 0
    показать полноэкранный снимок страницы с ошибкой.
  • 0
    Я обновил свой вопрос полными скриншотами ошибки Mr @IncognitoSkulll
Показать ещё 4 комментария
Теги:
yii2
yii2-basic-app

3 ответа

1
Лучший ответ

Из того, что я вижу, вы передаете PHP-код в свой файл конфигурации, а не передаете в массив конфигурации

Вместо этого...

\Yii::configure($this, require(__DIR__.'/config/config.php'));

Попробуйте сделать это...

$config = require(__DIR__.'/config/config.php');
\Yii::configure($this, $config);

В вашем файле config.php вы должны возвращать массив, если вы используете файл конфигурации базового приложения и добавляете к нему, тогда он должен быть настроен так, как это уже

  • 0
    Эй, Линч, я получил эту ошибку, теперь синтаксическая ошибка, неожиданное 'require' (T_REQUIRE)
  • 0
    Не могли бы вы опубликовать код для функции, эта ошибка подсказывает мне, что есть ошибка над строкой require которая выдает это исключение
Показать ещё 5 комментариев
2

Проблема возникает из файла конфигурации. Файл конфигурации должен возвращать массив. Убедитесь, что файл конфигурации выглядит следующим образом:

<?php

$config = [
    'name1' => 'value1',
    'name2' => [/* something here */],
];

return $config;
  • 0
    какое значение я могу передать вместо name1 и name2 Mr @Houmam. ??
  • 0
    Вы можете поместить свои данные конфигурации, проверьте эту ссылку, она поможет вам: github.com/yiisoft/yii2-app-basic/blob/master/config/web.php
0

вы редактируете модель файла и удаляете код:

/**
 * @inheritdoc
 * @return DriverSearch the active query used by this AR class.
 */
public static function find()
{
    return new DriverSearch(get_called_class());
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню