3 ноября 2020 г.

PHP зачем нужны шаблонизаторы ?

начну с примера кода :

в моей практике сталкивался с Smarty и Twig в Symfony.

лично мне нравится "чистый" PHP, всякие твиги, доктрины и прочее вызывают 

кислую оскомину во рту. сейчас будем разбираться  зачем нужны шаблонизаторы ? зачем нужен Twig ? 

Итак какие ответы дает интернет :

1. Безопасность - вообще странно, что этим занимается шаблонизатор, а не Контроллер)

2. возможность разделять шаблоны на блоки. странно, что программисты не могут это сделать без шаблонизаторов. я отлично разбиваю все на блоки, с замечательном PHP фреймворком CodeIgniter.

3. что бы "плохие программисты"  не мещали бизнес логику и отображение.Дисциплинирует разработчика и не даёт ему делать SQL запросы из шаблона. Очень сомнительный аргумент, если руки кривые всегда можно что-то сделать не так.


4. Более "красивый" и лаконичный код. Вместо <?= $var ?> мы пишем {{$var}}. не вижу тут особой разницы.

 

Минусы шаблонизаторов:


1. Тратиться много ресурсов. PHP нужно открыть, прочитать и проанализировать шаблон.

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


3. Надо учить дополнительный синтаксис. 


4. Дополнительная сложность порождает дополнительные проблемы. 


Итого: если программист опытный, то сделаем лучше проект без всяких
шаблонизаторов. если в проекте джуны, то возможно  шаблонизатор немного помещаем им говнокодить.

всякие шаблонизаторы со специфичной разметкой на мой взгляд очень неудобны.  

 

Шаблонизаторы на мой взгляд абсолютно не нужная вещь, но при этом шаблоны (представление), разумеется нужны.

 

 

Комментариев нет:

Отправить комментарий

Установка NGINX PHP PHP-FPM PHPMyAdmin на Ubuntu

 1. Обновляем Ubuntu: apt-get update && apt-get upgrade   2. Устанавливаем NGINX apt-get install nginx nano vi /etc/nginx/nginx.c...