Эффект производительности при использовании $ this -> render (); при разработке макета? - PullRequest
0 голосов
/ 20 октября 2011

Много времени, становится необходимым отделить некоторые часто используемые разделы, такие как баннер, нижний колонтитул, в отдельный файл, а затем включить эти части как $this -> render('banner.phtml').

Когда это широко используется, как дорогостановится ли производительность мудрой?

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Глядя на код Zend_View_Abstract все должно быть хорошо, если у вас есть несколько вызовов. render() по существу делает:

  • Посмотрите скрипт. Одна операция для каждого патча сценария.
  • Запустите файл, инкапсулированный ob_start() и ob_get_clean(). Не должно вызывать проблем с производительностью.
  • Запустить каждый фильтр на выходе.

Если вы не добавили сотни сценариев или фильтров, производительность должна быть в порядке. Тем не менее, обратите внимание, что для особо вложенных вызовов render() требуется больше памяти (из-за возможного сложения выходных буферов).

Но, конечно, вы все равно хотите кэшировать как можно больше - большинство вызовов render() запускаются только один раз;).

1 голос
/ 20 октября 2011

Не думаю, что это плохо влияет на производительность. Я работаю над очень крупным продуктом, и я широко использовал $this->render() в своем проекте для обработки различных вещей. Если у вас нет общего макета, вы должны полагаться на эту функцию. Но если у вас есть общий макет по всему проекту, тогда в этом нет необходимости. Так что не беспокойтесь об использовании функции render.

...