Код: Выделить всё
function footer($title) {
?>
Код: Выделить всё
// footer.php
// main file
< /code>
Этот метод основан на глобальных переменных или вручную передачу значений, которые я нахожу менее интуитивно понятными, чем параметры функции. < /p>
Другая альтернатива использует ob_start () Чтобы захватить вывод и вернуть его в виде строки: < /p>
function footer($title) {
ob_start();
?>
Код: Выделить всё
function footer($title) {
return "$title";
}
< /code>
Это упрощает функцию, но может быть менее читаемо для более сложных HTML -структур. класс для использования контекста для компонента. Например, я мог бы определить класс с именем Header Код: Выделить всё
class Footer {
public static function render($title) {
?>
< /code>
Мы также можем использовать объекты для рендеринга HTML с помощью этой концепции, чтобы избежать определения статических методов: < /p>
class Footer {
public $title;
public function __construct($title) {
$this->title = $title;
}
public function render() {
?>
< /code>
Но путь выше выглядит слишком сложным для этой небольшой необходимости. < /p>
Мои вопросы: < /h3>
[*] Есть ли официальный или широко принятый [b] термин [/b] для этого подхода в родном PHP (аналогично «макросам» в Flask/Jinja2)?
Есть какие -либо недостатки или проблемы с производительностью при использовании функций для рендеринга HTML -компонентов вместо включения Подробнее здесь: https://stackoverflow.com/questions/794 ... nts-in-php
Мобильная версия