Вот несколько ответов на несколько ваших вопросов ...
Bootstrap для настройки вашего приложения и ресурсов. Вы действительно не хотите, чтобы какой-то специфический код приложения был в вашей начальной загрузке. Используйте загрузчик, чтобы настроить ваши представления, зарегистрировать плагины, убедиться, что база данных и подобные ресурсы настроены, возможно, при необходимости инициализировать сеанс в загрузчике.
Ваш процесс объединения должен выполняться в файле layout.phtml. Если вы правильно используете некоторые из помощников-заполнителей Zend Framework, вы легко сможете достичь желаемого.
Вот пример, этот код будет в вашем файле layout.phtml:
<?php
$this->headScript()
->prependFile($this->baseUrl('js/importantCode.js'), 'text/javascript');
echo $this->headScript();
Используя помощник headScript, мы добавляем файл 'js / ImportantCode.js' в список сценариев, которые будут включены в макет. Делая это в макете, вы гарантируете, что файл ImportantCode.js всегда включен в ваши страницы. Теперь предположим, что у вас есть специальная страница, которая использует дополнительный JavaScript, который вы не используете повсеместно, в вашем скрипте вида вы можете просто сделать это:
<?php
$this->headScript()->appendFile($this->baseUrl('js/calendar.js'))
->appendFile($this->baseUrl('js/tooltips.js'));
?>
Это добавит еще два файла javascript к вашим тегам, но только для этого конкретного представления. Если вы обнаружите, что повторяете эту логику для большого количества страниц, вы можете использовать плагин или помощник для представления, чтобы упростить добавление этих файлов в ваши представления, но они имеют ключевое значение - вам не нужен загрузчик для этого. Аналогичные помощники существуют для включения CSS или встроенных стилей.
Распространенным местом для размещения некоторых ваших собственных классов является папка library/My
. Затем вы можете следовать структуре Zend для классов и каталогов и называть ваши классы как My_Custom_Class
(library / My / Custom / Class.php), и вы можете загружать их по мере необходимости.
Из любого вашего кода Zend Application вы можете просто сказать $obj = new My_Custom_Class()
, и Zend автоматически загрузит этот класс из библиотеки / My / Custom / Class.php, чтобы вам не приходилось включать его или требовать его везде. Создавая его только при необходимости, он избавляет от необходимости включать его все время, когда он не нужен.
Для вашего процесса входа в систему я бы создал одно действие для обработки входа в систему. Это может быть выделенный контроллер, или вы можете найти подходящий контроллер для включения процесса входа в систему (например, IndexController). Вы можете использовать View Partial , чтобы включить его в свой макет для отображения формы входа в систему, он всегда будет указывать на ваше действие входа в систему для обработки входа в систему, и вы можете использовать скрытое значение для перенаправления пользователя в контроллер и действия, в которые они вошли, если хотите.
Что касается ваших URL-адресов SEO, то в вашей ситуации могут быть полезны пользовательские маршруты, или вы можете просто структурировать свои URL-адреса, чтобы большая часть SEO была просто параметрами URL-адреса. Возьмите URL http://yoursite.com/product/view/category/Digital-Clocks/cid/1234
. Продукт - это контроллер, view - это действие, категория параметров - Digital-Clocks, а cid (идентификатор категории) - 1234. Вы можете получить более короткие и удобные URL-адреса с помощью пользовательских маршрутов.
Надеюсь, это поможет некоторым.