Я хочу контролировать html-представление, используя php. Простой способ - добавить, если условие eg
<?php if(condition)
echo '<div>something what I want to show</div>';
?>
но я хочу найти что-то вроде JavaEE, где я могу управлять рендерингом html-элемента с помощью атрибута render.
Я ищу что-то вроде этого:
<div render="Class::methodThatWillCheckConditions()"></div>
Можно ли сделать что-то вроде PHP?
Многие фреймворки PHP, такие как Symfony 2, имеют встроенные методы для генерации HTML.
Вы также можете написать свои собственные функции и называть их, когда это необходимо.
Вы также сможете вызвать Class::methodThatWillCheckConditions()
, но, насколько мне известно, вам все равно придется повторять его.
Здесь вы можете найти несколько других способов: как я могу эхо HTML в PHP?
Мне очень нравится способ делать это между PHP-тегами - таким образом ваша среда IDE будет правильно отображать ваш синтаксис HMTL. Альтернативный синтаксис улучшает читаемость:
<?php if(condition) : ?>
<div>Hello, World!</div>
<?php endif; ?>
Я ненавидел этот синтаксис, когда начинал, но он отлично по сравнению с фигурными скобками в большом html-документе. Представьте, что у вас есть закрывающая скобка 150 строк позже, }
не скажет вам, что закрытие. endif
говорит вам, что закрывается if-statement.
Поэтому я рекомендую вам писать функции для этого, где вы можете передавать параметры и изменять их в соответствии с вашими потребностями или даже писать так же, как в моем примере выше.
PS: Не используйте короткие теги!