Как получить доступ к постоянным переменным (определенным в другом файле) динамически в функции? - PullRequest
1 голос
/ 31 марта 2012

У меня есть файл, который определяет постоянные переменные, например:

define_vars.php

<?

define("something","value");
define("something1","value");
define("something2","value");
define("something3","value");

И у меня есть функция, которая анализирует $var какимя константы, например:

function something($var=''){

include('define_vars.php');

// $var is the name of one of the variables I am defining in the other file (define_vars.php)
// So $var may have a value of "something3", which is the name of one of the constants defined in the other file...

}

Мне нужно каким-то образом получить значение константы, когда $ var содержит имя константы, которую я хочу получить значение .... Имеет смысл?: S

Есть идеи?

Ответы [ 3 ]

5 голосов
/ 31 марта 2012

http://php.net/constant

function something($var) {
    if (defined($var)) {
        $value = constant($var);
    }
}

Также вы должны убедиться, что файл с определениями включается только один раз, поэтому используйте require_once('define_vars.php'); вместо.

4 голосов
/ 31 марта 2012

Вы хотите constant()

constant($var); // value
2 голосов
/ 31 марта 2012

Используйте constant () , чтобы получить значение. Вы могли бы сделать что-то вроде этого

function something($var = '') {
    include_once('define_vars.php'); //you don't want to include the file more than once or it will cause a fatal error when trying to redefine your constants
    return (defined($var) ? constant($var) : null);
}
...