Расширяйте функции PHP в строках, как переменные - PullRequest
3 голосов
/ 03 декабря 2011

В PHP я могу сказать

$noun = "bird";
$adjective = "warm;
echo <<<EOT
The $noun is very $adjective
EOT;

и он выдаст

Птица очень теплая

Есть ли способ сделать это с помощью функций?

function getNoun() { return "bird"; }
function getAdjective() { return "warm"; }
echo <<<EOT
The getNoun() is very getAdjective()
EOT;

и вывод

Птица очень теплая

Ответы [ 4 ]

5 голосов
/ 03 декабря 2011

Вы можете использовать функции переменных , хотя они довольно неодобрительны, поскольку они не сильно отличаются от переменных переменных ...

$a = 'getNoun';
$b = 'getAdjective';
echo <<<EOT
The {$a()} is very {$b()}
EOT;
2 голосов
/ 03 декабря 2011

Вы можете сохранить его в переменной перед использованием:

$noun = getNoun( );
$adj = getAdjective( );
echo <<<EOT
    The {$noun} is very {$adj}
EOT;
0 голосов
/ 03 декабря 2011

Вот решение с использованием переменных функций, хотя и не совсем:

$noun=function($type){
    return $type;
};
$adjective=function($adj){
    return $adj;
};
echo "{$noun("Robin")} was very {$adjective("Warm")}";
0 голосов
/ 03 декабря 2011
echo "The ";
echo getNoun();
echo " is very ";
echo getVerb();

Или, может быть, даже (не уверен на 100%):

echo "The " . getNoun() . " is very " . getVerb();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...