Главная / Блог / Php Шаблонизатор недостатки

Php Шаблонизатор недостатки

252

07.02.2018

Обновлено: 01.24.2020

Время прочтения: 3 минуты

Василий Кулик программист

Кулик Василий

Php Шаблонизатор недостатки

Вот и добрались к php шаблонизаторам. Шаблонизаторы - это огромные и тяжёлые библиотеки, написаны на ООП и нужны для простых людей, которые не умеют разрабатывать индивидуальную архитектуру (ядно) проекта, поэтому и расхваляют шаблонизаторы. Если идти на поводу, как пёсик, слушая других многих "программистов", то все они утверждают, что это очень круто. Да не только круто, а й необходимо!

Если искать в интернете статейки и спрашивать других о подводных камнях и недостатках шаблонизаторов - правды Вам никто не скажет, по одной причине: никто не знает и не задумывался, какое безумие эти php-шаблонизаторы. Никто не тестировал, какую нагрузку берет на себя ЦП сервера, обрабатывая даже одного пользователя

Цель этой статьи раскрыть все "подводные" камни и ложь шаблонизаторов.

Шаблонизаторов в интернете очень много, их используют много CMS-систем, фреймворков, но есть и самые возлюбленные. Все шаблонизаторы работают одинаково и отчитаются своими конструкциями. Если верить документации, то Smarty - один из лёгких и быстроработающих шаблонизаторов. Давайте разбирать причины, почему от шаблонизаторов нужно срочно отказываться и почему у большинство веб-студий сайты тормозят.

Я с ужасом представляю, если выводить весь более-менее полноценный сайт шаблонизатором, то уже сколько на это времени понадобится и оперативки. Это Вам не вывод 3-х статей из массива, как было протестировано ради этой статьи.

Теперь разберёмся, почему шаблонизаторы так тормозят. Дело в том, чтобы вызвать цикл foreach, к примеру, нужно создать tpl-файл и написать в нём код цикла на языке шаблонизатора. Это выглядит так:

{foreach item=posts from=$data.posts}  <div class="blok">   <h2>{$posts.title}</h2>   <div class="avtor">автор: {$posts.avtor}</div>   <div class="text">    {$posts.text}   </div>  </div><hr> {foreachelse}   Новостей нет {/foreach}

Вторым этапом необходимо подключить эти бессмысленные и тяжелейшие библиотеки, которые этот код обработают и всё-равно вызовут цикл foreach, который пройдётся по массиву. А не проще, выбросить этот весь безумный мусор, отформатировать мозг от этих шаблонизаторов и просто написать цикл на php, который сразу пройдется по массиву и не будет вызывать какие-то шаблонизаторы и делать миллионы лишних движений?

<?php foreach($posts as $post){?>  <div class="blok">   <h2><?php echo $post['title'];?></h2>   <div class="avtor">автор: <?php echo $post['avtor'];?></div>   <div class="text">    <?php echo $post['text'];?>   </div>  </div><hr> <?php }?>

И не надо никаких шаблонизаторов. Да и так же само можно отделить php-код от html-кода, нужен лишь опыт и мозги ;). Это касается не только циклов, но и условий, подключаемых файлов, всего остального:

Код шаблонизатора условия {if $data.template=='item'}/*действия 1*/ {else}/*действия 2*/{/if} Против чистого PHP if($data['template']=='item'){/*действия 1*/}else{/*действия 2*/} Код шаблонизатора на подключение файлов {include file='post.tpl'} Против чистого php include 'post.tpl';

Это был только маленький пример. Эти коды должны обработаться библиотеками шаблонизатора и в итоге вызваться обычный код php. Разве не проще сразу php-код написать? Использовать шаблонизаторы - равносильно для датчика подключать ещё один датчик!

Я лишь одно скажу. Программист, который пишет на чистом коде, он прекрасно понимает, какая это всё лажа, а модераторы не смотрят на скорость работы сайта и не заботятся о качестве кода. Для них это нормально, что сайты тормозят, но объяснить причины, почему их и множество в интернете сайтов тормозят они не могут. Мною доказано, что шаблонизаторы - одна из причин затормаживания многих сайтов. Ведь 95% сайтов делают веб-студии, быстро "сбивая" деньги, а о скорости и качестве никто не думает.

Вот я и раскрыл все секреты и скрываемые стороны php шаблонизаторов и разоблачил их. Ведь никакая веб-студия не может сделать проект, который будет равняться по скорости проектам, которые были написаны программистом. Легче же установить готовые CMS-системы, фреймворки, шаблонизаторы, чем подходить к работе индивидуально.

Что-то не понятно?
Спросите у нас и мы обязательно Вам поможем!

Отправляя форму, Вы подтверждаете указание своего e-mail адреса.

Рекомендуемые статьи этой категории

Скрываемые недостатки Python

Python набирает популярность благодаря красноречивой рекламе посредников. Многими упорно скрывается неправда о скорости работы Python. Настало время убрать пелену с глаз, разоблачить профинансированную инвесторами ЛОЖЬ! Почему многие отказываются программировать сервера на Python?

Подробнее
Запуск скриптов без cron

Бывает нужда запуска скриптов по расписанию без Cron. Выход из ситуации есть. В статье приведены 3 простых способа, позволяющие запускать скрипты по расписанию на сервере без Cron.

Подробнее
Форма обратной связи на PHP

Форма обратной связи на php одна из самых популярных задач. Но, к сожалению, формы обратной связи создаются по шаблонным вариантам, где присутствует некачественный код. Код, который замедляет работу программы. В этом уроке, мы впервые напишем форму обратной связи на чистом коде с перезагрузкой страницы и с отправкой по Ajax. Код и исходники приложены!

Подробнее
Недостатки MVC

Проявление недостатков паттерна MVC в скорости работы PHP-скриптов и в повышенном потреблении ОЗУ сервера. Да, MVC это удобно. Реальность в том, лишь одна функция выполняется, а все другие служат мертвым кодом.

Подробнее

Оставить заявку