Профиль пользователя заблокирован сроком с 10 апреля 2022 г. и навсегда по причине: систематические нарушения правил сервиса
Ответы пользователя по тегу Шаблонизаторы
  • Где можно найти подробную информацию про шаблонизацию/шаблонизаторы php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В гугле. Всё есть в гугле.
    Перед тем как интересоваться шаблонизаторами, надо научиться пользоваться интернетом.
    Искать информацию, анализировать информацию, усваивать информацию.
    Учиться формулировать вопросы. Как для поисковика, так и на форум.

    В таком общем виде вопросы задают в гугль.
    А на форум пишут уже конкретные вопросы, если что-то непонятно.
    Ответ написан
    Комментировать
  • Подключение css в MVC системе на PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Используйте нормальный шаблонизатор, Twig.

    Сначала делааете главный шаблон сайта и в нем определяете изменяемые блоки. Самый главный, разумеется, будет пустой блок контент - то, куда пойдет вывод отдельных страниц.
    Также делаете блоки для скриптов и стилей.
    Общие стили сайта определяете в блоке стилей.
    Дальше делаете шаблоны для конкретных страниц, которые наследуют главному шаблону, и в которых заполняется блок контент.
    При этом блок стилей расширяется стилями, нужными конкретно для этой страницы.

    Таким образом не получится столь привычного быдлокодерам винегрета.
    Любые стили будет лежать только в шаблонах, и не будут засорять другие элементы MVC.
    При этом главный шаблон не будет засоряться. ненужными ссылками.

    Я понимаю что без примера сложно.
    Вот простейший пример того, о чем я писал выше:

    main.twig.html
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
    {% block stylesheets %}
        <link href="/css/main.css" rel="stylesheet">
    {% endblock %}
            <title>{% block title %}Twig Example{% endblock %}</title>
        </head>
        <body>
            {% block content %}{% endblock %}
        </body>
    </html>

    index.twig.html
    {% extends "main.twig.html" %}
    
    {% block content %}
    <h1> index page </h1>
    <li><a href=/page1.php>Page 1</a>
    <li><a href=/page2.php>Page 2</a>
    {% endblock %}

    page1.twig.html
    {% extends "main.twig.html" %}
    
    {% block stylesheets %}
        {{ parent() }}
        <link href="/css/page1.css" rel="stylesheet">
    {% endblock %}
    
    {% block title %}Page 1{% endblock %}
    
    {% block content %}
    <h1> page 1</h1>
    <li><a href=index.php>index</a>
    {% endblock %}
    Ответ написан
    Комментировать
  • Плохая ли реализация шаблонизации и снижет ли она производительность PHP проекта вообщем?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Как всегда, невежество рождает чудовищные идеи и выливается в адские проекты. Начнем с идей

    без всяких тяжелых Smarty и Twig
    Открою тебе маленькую тайну. "Smarty и Twig" НЕ тяжелые.

    PHP сам по себе шаблонизатор
    Это правда. Но ты-то не используешь РНР, а используешь свой самопал с реплейсами.

    Выполняя все тяжелые скрипты в массиве, влияет ли это на производительность?
    ВООБЩЕ НИКАК. Понятие "В массиве" ни малейшего отношения к производительности не имеет. Ну то есть вообще никакого.

    при прохождение по массиву уже использовать eval()
    Поздравляю, твой сайт взломали!

    У меня складывается определенное чувство, что я делаю плохо
    Угадал! Только не в том смысле, в котором ты думал. Проблема в другом.

    Твоя поделка - вообще не шаблонизатор.

    Шаблонизатор - это когда ВЕСЬ HTML пишется в шаблоне. Читай по буквам - В-Е-С-Ь. Это означает, что в коде контроллера не должно быть написано ни одного тега. А при твоей системе у тебя половина HTML будет в контроллере. Зачет не сдан, садись, два.
    Ответ написан