Используйте PHP `значение переменной` быстро в HTML - PullRequest
1 голос
/ 13 июля 2011

Я часто использую шаблон HTML для своего приложения, и в содержимом шаблона есть place holder, который я пометил как <?php echo $myVar; ?>

Есть ли более короткий синтаксис для этого? Я пытался <?php=$myVar?>, но не работал: D

Пожалуйста, дайте подсказку, если вы знаете какой-нибудь способ. Спасибо!

<body>
    <?php $myVar = 122; ?>
    abb
    <div>
        <?php echo $myVar; ?>
    </div>
    <div>
        <?php=$myVar?>
    </div>
    ccc
</body>

Ответы [ 5 ]

5 голосов
/ 13 июля 2011
<?=$myvar ?>

short_open_tag должен быть включен.

3 голосов
/ 13 июля 2011

Более короткая версия - <?=$myVar;?>, но, пожалуйста, НЕ делайте этого! (

Цитирование из комментария, на случай, если кто-то его пропустит.

, потому что:

  1. Это не даст большой гибкости при перемещении серверов, т. Е. Вы должны управлять сервером или иметь возможность изменять ini директивы [включить short_open_tag], иначе вы обречены.

  2. Это может быть устаревшим в будущем.

  3. Читабельность - это не торговля функциональностью. Период.

3 голосов
/ 13 июля 2011

Вы можете использовать короткие теги, если они включены.

<?= $var; ?>

Это то же самое, что и это:

<?php echo $var; ?>

Для настройки вы можете найти информацию здесь, однако не рекомендуется использовать этот метод.

http://php.net/manual/en/ini.core.php

Если включены теги ASP, вы также можете делать такие вещи:

<%=$var; %>

<% echo $var; $>
2 голосов
/ 13 июля 2011

это

<?=$myVar; ?>

короткий тег должен быть включен с PHP

Если вы собираетесь использовать встроенный XML с PHP, не включайте короткие теги.

Как задокументировано здесь

Если вы хотите использовать PHP в сочетании с XML, вы можете отключить это вариант для того, чтобы использовать inline. В противном случае вы можете распечатать его с PHP, например: '; ?>. Также, если отключено, вы должны использовать длинную форму открытого тега PHP ().

0 голосов
/ 13 июля 2011

Вы можете использовать двойные кавычки, как это:

<?php
$myVar = 122;
echo "
<body>
    abb
    <div>
         whatever and $myVar displayed here
    </div>
    <div>
        The content is: $myOtherVar
    </div>
    sometext
</body>
";
?>

Но подумайте об использовании вашего шаблона с ООП.Было бы еще чище:

Template::header();//Echoes your template header

Template::content($myContentText,$myWhateverVar);//Echoes your template filled with your vars

HTH, кофеин

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