Несколько советов:
Вот хорошая схема процесса отправки
http://nethands.de/download/zenddispatch_en.pdf
Гораздо проще понять ZF, если у вас есть опыт работы с шаблонами проектирования ООП / ООП
Когда я впервые наткнулся на ZF, я мало знал об ООП. ZF побудил меня изучить ООП, что было очень хорошо.
Различают «магию» ZF и фактическую архитектуру ZF
Хотя я хорошо понимаю классы ZF, я все еще растерялся, когда ZF добавляет свою «магию» в микс.
Когда я говорю «магия», я имею в виду такие вещи, как
- объекты по умолчанию загружаются и используются, если ничего не указано, и
- Соглашения об именах и именах URL-контроллера-имени-файла-пути.
- сопоставления настроек конфигурации с классами
ZF немного похож на крэка-дилера в том смысле, что «Руководства по началу работы» сразу подскажут вам. Они выполняют столько магии, что это заставляет вас думать
.oO (Ух ты - как это было просто! Этот фреймворк классный!)
Затем, как только вы начинаете пытаться делать что-то свое, магия начинает сбивать с толку.
Итак, моя тактика - убрать как можно больше магии ЗФ. Если у вас есть возможность указать используемый класс или маршрутизатор, укажите его. Не позволяй Zend сделать это за тебя.
Тогда, когда происходит что-то странное, вы можете легче находить ошибки.
Кроме того, если вы укажете расположение классов / путей как (в отличие от того, чтобы ZF волшебным образом изменял пути и находил сценарии), то вам не нужно беспокоиться о том, «где это разместить? где это поставить? - вы просто помещаете вещи туда, где хотите, чтобы они были, и явно указываете на них ZF.
По мере знакомства с ZF вы, возможно, захотите, чтобы он вступил во владение и сделал для вас немного магии. Только тогда вы действительно сможете понять, почему эта магия удобна.
Как сказал Тим Уордл в другом ответе - одолжение требует заявлений над Zend Loader, пока оно вам действительно не понадобится.
Если вы являетесь дизайнером PHP, который производит 10 проектов веб-сайтов в неделю, то ZF Magic может быть действительно полезным. Если вы разрабатываете свое первое приложение ZF, то «снижение сложности» является более важной целью проектирования, чем «повторное использование».
Просмотр кода
Это может показаться очевидным, но один из лучших способов узнать о ZF - взглянуть на код.
Опять магия ZF может помешать - я часто хочу посмотреть на аргументы метода, чтобы узнать, что мне нужно передать, только чтобы обнаружить, что он ожидает неоднозначный «массив опций» (не совсем полезный). Однако через некоторое время вы начинаете замечать соглашения, используемые в том, как «ключ опции» сочетается с методом получения / установки. Так что продолжайте смотреть на код и знакомиться с «ZF way».
Я есмь это, епс.