Задать вопрос
@HP_KDE_neon

Следовать ли рекомендациям IDE?

В файле index.php подключается файл settings.php, в котором используется переменная $container, созданная в файле index.php:
// index.php
$container = new Container();

require config_path('settings.php');

// settings.php
$container->set('settings', fn() => [
    # код
]);


Шторм подсвечивает мне, что нужно в settings.php прописать global $container;, я давно уже не встречал таких записей и ранее их не применял.

68a2dd84edda4047559416.png
68a2dd8c32d2b935971907.png

Почему разрабы шторма предлагают такое (работает ведь без всяких global), следовать ли рекомендациям IDE или запилить, как ниже и забыть?

// index.php
$container = new Container();

$settings = require config_path('settings.php');
$settings($container);

// settings.php
return function(Container $container) {
    $container->set('settings', fn() => [
        # код
    ]);
};
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой 7 комментариев
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ну так в вашем файле переменная $container используется без предварительного определения. Вот вам и предлагается либо явно её определить и инициализировать, либо обозначить как global, как признак того, что она инициализируется в другом файле.
То, что вы этот файл гарантированно включаете где-то в другом месте, IDE не знает, и предполагает, что файл может использоваться сам по себе.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы