Вопрос по zend-framework-modules, zend-framework – Я бы не стал. Я оставляю обновления и вставки в форму или контроллер. Если у вас есть запрос на обновление / вставку, который вы планируете использовать повторно, я бы порекомендовал добавить логику непосредственно в саму модель.
ичок в Zend Framework и пытаюсь получить представление о возможности повторного использования кода. Я определенно знаю о модулях, но, похоже, есть некоторая неуверенность в том, какая функциональность должна входить в модули, а какая нет.
что я пытаюсь сделать:
1) иметь многоразовые мини-программы / виджеты / плагины (как бы вы их ни называли), которые можно просто подключить к любому сайту, делая это в макете или представлении:
<?php echo $this->contactform;?>
или это в представлении:
<?php echo $this->layout()->blog;?>
Я бы назвал их расширением. так что в основном то, что вы видите в шаблонах joomla / wordpress / concrete5.
2) Весь код, связанный с этим конкретным расширением, должен находиться в отдельном каталоге.
3) Мы должны иметь возможность выводить расширения только для определенных модулей / контроллеров, где они требуются. они не должны отображаться без необходимости, если они не будут отображаться.
4) каждое расширение может выводить несколько областей содержимого на странице.
Если у вас есть хорошо продуманная структура / подход, который вы используете - пожалуйста, оставьте ответ.
Спасибо:)
посмотреть помощников, Просмотр помощников может быть простым, например, возвращать номер версии приложения, или сложным, как добавление html нескольким заполнителям. Например:
layout.phtml:
<h1><?php echo $this->placeholder('title'); ?>
<div class="sidebar">
<?php echo $this->placeholder('sidebar'); ?>
</div>
<div class="content">
<?php echo $this->layout()->content; ?>
</div>
в вашем представлении скрипт foo.phtml например:
<?php
$this->placeholder('title')->set('Hello World!');
$this->placeholder('sidebar')->set('Hello World!');
?>
<h1>Bar Bar!</h1>
Теперь, если вы хотите иметь возможность использовать это снова и снова, вы можете сделать это:
<?php
class Zend_View_Helper_MyHelper extends Zend_View_Helper_Abstract
{
public function myHelper()
{
$this->view->placeholder('title')->set('Hello World!');
$this->view->placeholder('sidebar')->set('Hello World!');
return '<h1>Bar Bar!</h1>';
}
}
Теперь замените код в вашем foo.pthml следующим:
<?php
echo $this->myHelper();
Оба примера вывода foo.phtml:
Привет, мир!Привет, мир!Бар Бар!Конечно, это очень упрощенный пример, но я надеюсь, что это поможет вам в правильном направлении. Счастливого взлома!