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

Как подключить файл с массивом в функции и затем выводить функцией его значения?

Вот функция. Она находится в классе Settings.
public function GetL( $data ) {
	$path = INCLUDE_DIR . '/Settings/' . $data . '.php';
	if ( file_exists( $path ) ) {
		include_once $path;
		return $$data;
	} else {
		return 'Error while connecting the settings file: ' . $data;
	}
}


Далее подключаю класс в файле test.php. Ниже прописываю:
var_dump( $Settings->GetL('settings') );

Все работает - var_dump выводит ключи и их значения массива.

Но если этот класс подключить в другом классе, а уже в нем в прописывать:
$this->Settings->GetL('settings');
То это приводит к ошибке:
Notice: Undefined variable: settings in /путь/до/класса/Settings.php on line 31

Где 31 строка - это:
return $$data;

Не могу понять в чем проблема. Помогите, пожалуйста.
  • Вопрос задан
  • 3471 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
KorsaR-ZN
@KorsaR-ZN
Приведите пример файла, который вы пытаетесь подключить.

А вообще для того, чтобы поместить содержимое массива из файла в переменную, нужно в фале сделать так:
return [
   'key1' => 'value1',
   'key2' => 'value2',
   'key3' => 'value3',
   'keyN' => 'valueN',
];

А при подключение такого файла, сделать так:
$array = include_once('file.php');

P.S А вообще, расскажите Вашу задачу. Вы явно делаете ее не правильно!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽