2015-11-03 4 views
1

Я пытаюсь передать переменную Heredoc, когда я называю его из HTML:Как передать параметр HEREDOC?

<?php 
$slider = <<<SLIDER 
    <li><img src="images/banner-1{$mobile}.jpg" /></li> 
SLIDER; 
?> 

Но это не обновляется, когда Heredoc называется:

<ul id="slider mobile"> 
<?php 
    $mobile = '-mobile'; 
    echo $slider; 
?> 
</ul> 

Может ли он быть использован в качестве функции или что-то еще?

+1

Переменные в строках оцениваются/заменяются при определении строки с переменной, а не при ее использовании. –

ответ

2

Вы можете легко делать то, что вы пытаетесь достичь, если вы вместо того, чтобы сделать Heredoc возврат из функции, которые вы можете передать аргумент:

function slider_string($mobile) { 
    return <<<SLIDER 
     <li><img src="images/banner-1{$mobile}.jpg" /></li> 
SLIDER; 
} 

Позже вы можете выполнить эту мутацию.

<ul id="slider mobile"> 
<?php echo slider_string('-mobile'); ?> 
</ul> 
+0

Да, это то, что я пытаюсь сделать. Мысль об этом в конце. Благодарю. –

+1

[Я бы назвал это «помощь» ...] (http://stackoverflow.com/posts/33505400/revisions)^;-) –

+0

@ Fred-ii-. Хороший звонок! Проклятые ведущие места в HEREDOC. – Ohgodwhy

Смежные вопросы