Здравствуйте! Есть такой вопрос. Имеется шаблон, и соответственно шапка, футер и левая колонка вынесены каждая часть в отдельный файл, и все они подключаются в индексный файл через include, а центральная часть динамически изменяется. Но я на днях наткнулся на такой пример Код: function connection_files($name_file){ ob_start(); include($name_file); return ob_get_clean(); } $content = connection_files($_GET["view"] . "php"); в параметр функции передается подключаемый шаблон, и я чет не пойму в чем разница? результат же один и тот же, что просто через include подключать что через буферизацию. Или может я чего не допонимаю?
В таком варианте разницы, наверное, действительно нет, но вообще разница есть. Буфер позволяет получить результат работы отдельного куска кода до завершения выполнения всего стека и что-либо сделать с этим результатом. В случае с шаблонами, например, можно вывести результат работы кода в разных местах страницы выполнив его только один раз, а не при каждой вставке (то есть, закешировать результат выполнения в переменную), либо можно закешировать результат в файл и при последующих запросах вообще не выполнять код, если он есть в кеше. Кроме того, буферизация позволяет дополнительно обработать результат работы буферизированного кода, если нет возможности вклиниться в сам код.