replace — Как изменить стандартные команды в переполнении стека

Можно ли изменить стандартные команды в PHP? Я хотел бы использовать {{ «Например, вместо» эхо ».

В моей практике я использую эхо « ‘ а также ‘ «; очень часто, чтобы напечатать всю строку. Например:

echo "<div class='someClass'>
<table id='someTable'>
<tr>
<td> Hello </td>
<td> World </td>
</tr>
</table>
</div>
";

На мой взгляд, это намного удобнее, и код выглядит более читабельным, чем когда-либо эхо ‘для каждой новой строки. Но возможно ли сделать его более привлекательным, как, например, в Laravel Framework.

{{
<div class='someClass'>
<table id='someTable'>
<tr>
<td> Hello </td>
<td> World </td>
</tr>
</table>
</div>
}}

Я пытался difine константа:

define ('{{', 'echo "');
define ('}}', '";');

Но это не сработало. А также замена всего кода с помощью str_replace в одну переменную с необходимыми символами, а затем распечатать его.

$a = str_replace('{{', 'echo "', $someVariableWithAllCodeAsText);
$a = str_replace('}}', '";', $someVariableWithAllCodeAsText);

Итак, вопрос: возможно ли это вообще?

0

Решение

Вы можете определить функцию:

function _($html)
{
echo $html;
}

Тогда просто используйте в своем коде:

_('<h1>Hello World !</h1>');

Вы также можете использовать:

<?= '<h1>Hello Worlds !' <?>

Для более короткого пути.

Но в целом вы не сможете этого сделать, вы можете увидеть все движки шаблонов, такие как Smarty или Twig, они разбирают код шаблона для замены {{ от echo

1

Другие решения

Есть несколько законных способов сделать определенный текст «красивее», но не совсем так, как вы собираетесь.

Во-первых, вы можете определить блоки HTML в файле HTML и просто использовать include или же require оператор для вставки блока. Тем не менее, это не хорошо для динамического контента.

Во-вторых, вы можете использовать heredoc синтаксис для определения строк. Это позволит использовать переменные.

В-третьих, вам не нужно включать весь контент, который вы выводите в PHP, даже если он динамический. Проверять, выписываться выход из HTML на сайте документации PHP. Вот пример оттуда:

<?php if ($expression == true): ?>
This will show if the expression is true.
<?php else: ?>
Otherwise this will show.
<?php endif; ?>
0

По вопросам рекламы [email protected]