Так что здесь, на работе, у нас есть домашняя система шаблонов, которая легка и отлично работает для нас.
Стена, на которую мы попадаем, заключается в том, что мы хотим иметь возможность перебирать шаблон. Вариант использования - это что-то вроде результатов поиска. Мы пытаемся придумать, как мы могли бы это сделать. Мы придумали три способа прямо сейчас. Во-первых, это старый добрый файл, который хранит html внутри цикла, а затем зацикливает его и использует concat для помещения переменных в html. Вторым способом, который мы придумали, было включение файла повторно. И третий способ заключался в том, чтобы включить файл один раз, использовать выходной буфер для захвата его вывода, добавить к нему текстовое эхо «, а затем использовать для него eval (мой начальник хотел, чтобы мы придумали творческие способы сделать это).
Хорошо, я предпочитаю метод многократного включения, поскольку он позволяет полностью отделить html от логики. Метод eval также делает это, но кажется немного более хакерским. Что ж, мы сделали несколько тестов времени на это и обнаружили, что наличие html прямо внутри цикла (метод один) было самым быстрым, и за ним последовал метод eval, и несколько раз включалось последним. Включение было на самом деле примерно в 5-6 раз медленнее, чем метод eval. (Мы включили файл / оценили файл 1000 раз, сделали это 100 раз и усреднили их, чтобы получить наши результаты).
Есть ли способ ускорить множественное включение? (Похоже, что каждый раз, когда мы выполняем, include php снова запускает файловую систему.)
Или у кого-нибудь есть способ выполнить этот тип вещи?