в том числе код в файле конфигурации php - PullRequest
0 голосов
/ 19 февраля 2012

Возможность иметь замыкания является довольно новой, поэтому я не уверен, существует ли еще «стандартный» способ сделать это, но ...

Есть ли хороший способ включить функцию вфайл конфигурации PHP?Сейчас проект, над которым я работаю, использует JSON для файлов конфигурации, но я не вижу способа включить в него функции PHP.

Я бы хотел сделать что-то подобное(используя синтаксис JSON)


conf файл:

{
    myFunc: function($arg) {
        return $arg . ' is an argument';
    }
}

приложение:

json_with_func_literal_decode(...);

Не нужно использовать синтаксис JSON,хотя это было бы хорошо.Скорость на самом деле не проблема, если она разумна.Я хотел бы избежать использования eval(), который является очевидным решением этой проблемы.

1 Ответ

3 голосов
/ 19 февраля 2012

Вы можете просто использовать файл PHP без дополнительных затрат на синтаксический анализ JSON / YAML для конфигурации следующим образом:

<?php
return array(
    'foo' => 'bar',
    'myFunc' => function()
    {
        // ...
    }
);

И получить конфигурацию следующим образом:

$config = include 'config.php';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...