Neurons to bytes

Используйте партиалы, а не хелперы!

Часто приходится видеть, как люди неправильно используют хелперы вида в своих приложениях. В такие хелперы они внедряют большие куски html разметки, даже не понимая, что хелперы вида предназначены совсем не для этого. Посмотрите на код стандартных хелперов вида в Zend Framework - разве они содержат огромные куски разметки? Нет.

Отформатировать дату, раскрасить имя пользователя, выводимое на страницу, показать иконку статуса icq, отрисовать специфичную кнопку - вот тот круг задач, для которого были придуманы хелперы. Применяйте хелперы тогда, когда требуется выполнять в скриптах вида определенный набор повторяющихся функций.

Если же вам требуется вывести какой-либо большой кусок html разметки в нескольких местах проекта - здесь отлично подойдут партиалы (partials). Они-то как раз и предназначены для решения подобного типа задач. Кстати, за подключение партиала в скрипт вида отвечает хелпер - partial и partialLoop (если требуется вывести партиал в цикле). Почувствуйте разницу.

Если вы еще не использовали партиалы ни разу, вот вам ссылка на официальный мануал, читайте до полного понимания: Partial Helper

Also interesting

Tag after , ,

  1. san says:

    partials клонируют объект view и поэтому создают повышенную нагрузку. Для кусков хтмл кода следует использовать render.
    http://framework.zend.com/manual/en/performance.view.html#performance.view.partial.render

    • Ouch! says:

      То есть, насколько я смог понять после трудных выходных, render() делает то же самое, что и partial(), но не создает излишней нагрузки?

      • san says:

        Нет, ключевое отличие в том что partials имеют свою независимую область видимости. Помимо мана можно еще прочесть здесь http://zendframework.ru/articles/view-helpers-in-zend-framework#partials. Но в случае с простыми повторящимися кусками html кода - отдельной области видимости не требуется, поэтому лучше использовать render.

        • Ouch! says:

          Завтра добавлю эти дополнения в пост, конечно, со ссылкой на автора дополнений)

  2. san says:

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

    • Ouch! says:

      Я боюсь что роботы будут тырить контент для сплогов, поэтому обрезаю посты… очень неудобно? :)

      • san says:

        Лично мне да, у меня много блогов в RSS ридере, и переходить на каждую страницу чтобы прочесть полный текст - жалко времени. Скажу вам как блоггер с некоторым стажем - многие изначально отдавали только тизер как вы, но со временем большинство стали отдавать весь фид. Это способствует более быстрому росту количества подписчиков. Я думаю о роботах можете не переживать, техническая тематика видимо не очень интересна спамерам ) это могу сказать по личному опыту. Ну и если заметите активное воровство всегда сможете отключить полный фид.

        • Ouch! says:

          San, уговорил, врубаю полную отдачу RSS :) У меня до сих пор не тырили контент, но я просто опасался. Надеюсь, опасения были напрасны :)

        • Ouch! says:

          Кстати, уведомления по почте приходят? Оно работает? :)


(required)


(required but won't be displayed)