PHP Прочитать значение свойства объекта из файла - PullRequest
0 голосов
/ 28 мая 2020

У меня есть настройки файла. js со следующей структурой:

var settings = {
    foo: 'fooValue',
    bar: 'barValue',
    ...
};

Как я могу прочитать значение свойства foo в моем индексе. php файл?

Я пробовал это :

$settings_file = file_get_contents('.' . $settings);
$settings_content = json_decode($settings_file)
$fooValue = $settings_content->settings->foo;

но когда я печатаю $ fooValue, он пуст.

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Вы не читаете json, вы читаете файл, который содержит объявление переменной с объектом в javascript.

ваш файл настроек должен быть действительным json. Имя и значение заключены в кавычки.

Пример:

{
    "foo": "fooValue",
    "bar": "barValue",
    ...
}

Ссылка на JSON

0 голосов
/ 28 мая 2020

Возможно, проще всего использовать регулярное выражение для сопоставления значения.

Это простое совпадение foo: необязательного пробела ' или " содержимого ' или " запятой, причем содержимое является единственной вещью, которая является группой захвата ...

$settings_file = file_get_contents('.' . $settings);
preg_match('/foo:\s+["\'](.*)["\'],/', $settings_file, $matches);

echo $matches[1];

дает

fooValue
...