Трудности при изучении Zend Framework 1.8 - PullRequest
5 голосов
/ 19 июня 2009

Я новичок в Zend Framework.

Я скачал Zend Framework, а затем последовал официальное руководство по быстрому старту, чтобы создать очень простую форму регистрации. Но после этого мне очень трудно изучать различные элементы Zend Framework.

Во многих руководствах упоминается frontController и registerAutoload () в файле начальной загрузки. Тем не менее, похоже, что я не вижу его снова в коде версии 1.8 (как в официальном кратком руководстве , так и Начало работы с Zend Framework 1.8 ). Многие учебники содержат старую версию кода, и в v1.8 она сильно отличается.

Я начинаю с написания регистрационной формы с подтверждением пароля. Я прочитал официальный документ и нашел пользовательский валидатор для подтверждения пароля . Он просто помещает туда класс и не упоминает, как я могу его использовать. Я не знаю, куда мне поместить этот файл, и я не могу найти никаких подсказок в Google. Ошибка «класс не найден» всегда меня тошнит (я пробовал addPrefixElement, set_include_path, но они не работают).

Регистрация пользователя, активация электронной почты, вход в систему, контроль доступа - очень распространенные задачи. Но я даже не нахожу части кода в v1.8, которую можно запустить на моей машине. Я очень расстроен из-за Zend Framework.

Кто-нибудь дает мне советы?

Ответы [ 8 ]

8 голосов
/ 19 июня 2009

Я также только начал изучать Zend Framework. Я также нахожу много старых учебников, которые делают обучение запутанным и трудным, но есть некоторые ресурсы, которые я нахожу помощь в изучении Zend Framework:

  • http://www.zendcasts.com/ - у них уже есть учебники по ZF1.8, такие как Bootstrapping с использованием Zend_Application и т. Д.

Некоторые полезные блоги, которые могут помочь:

Форумы, чтобы задать свои вопросы:

Что касается класса, не найденного, я думаю, вы не загрузились?

4 голосов
/ 19 июня 2009

Части Zend Framework немного изменились в версии 1.8, но все должно быть обратно совместимо, поэтому все примеры кода, написанные с использованием серии 1. *, все равно должны работать с небольшими изменениями или без них. Основные области, которые отличаются:

  • Zend Loader (связанный с register_autoload), который теперь имеет несколько улучшений, связанных с производительностью и некоторыми небольшими различиями в его API (с предупреждением PHP, если вы используете старый способ). Я бы не слишком беспокоился об этом, как новичок - просто следуйте руководству или продолжайте использовать операторы include / require, пока вы не будете раздражены, добавляя их постоянно!

  • Zend-приложение, которое в основном позволяет вам создавать код настройки и инициализации с меньшими усилиями. Опять же, вам не нужно его использовать, и вы можете с радостью написать ручной класс начальной загрузки, чтобы вы привыкли к тому, как создается фреймворк.

Что касается начала работы, я настоятельно рекомендую вам разобраться с компонентом Zend Controller, особенно с частью переднего контроллера и этой схемой . Для проверки подлинности смотрите Zend Auth , для электронной почты см. Zend Mail , для контроля доступа см. Zend Acl , а для форм и проверки см. Zend Form. , Zend Validate и Zend Filter . Компоненты формы и проверки объяснят пути и добавят ваши собственные специальные средства проверки и элементы формы.

Другая важная область - Zend Db , которая позволяет сохранять ваши данные в базе данных. Существует также Zend View , который представляет слой представления в стеке MVC. На мой взгляд, это ключевые компоненты базового приложения ZF. Оттуда вы можете исследовать другие компоненты, как и когда они вам нужны.

Не забывайте, что Zend Framework специально разработан для слабой связи, и очень просто использовать другой компонент из другого проекта для конкретной задачи. Иногда необходимо написать свои собственные компоненты тоже. Если есть компонент, который вы бы предпочли использовать поверх компонента Zend, тогда сделайте это.

Честно говоря, документация очень хорошая, хотя трудно ориентироваться для начинающих. Как только вы разберетесь с основными компонентами, все станет намного понятнее.

Также попробуйте выполнить этого урока . Это поможет объяснить многие основы.

2 голосов
/ 17 ноября 2009

Я рекомендую эти видеоуроки от парня по имени Алекс, он постоянно обновляет их и постоянно выпускает новые, все они относятся к ZF 1.8 и 1.9.

У него есть даже подробный видеоурок, включающий ACL, формы входа и т. Д. (Благодаря ему мои первые шаги с Zend были проще!)

http://alex -tech-adventures.com / разработка / Зенд-framework.html? Начать = 15 - его сайт немного сбивает с толку, но стоит потратить время на его выяснение :)

Приветствие Roman

1 голос
/ 21 августа 2010

Несколько советов:

Вот хорошая схема процесса отправки

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».

Я есмь это, епс.

0 голосов
/ 23 февраля 2010

Zend Framework перешел от относительно доступной и простой системы к более сложной сущности. За последние пару лет он претерпел ряд быстрых изменений, которые оставили много старой документации.

У нас есть проекты, которые застряли в версии 1.7.x, потому что различия между этой и последней версией слишком велики, что делает разработку и время тестирования слишком дорогими.

Мне нравится Zend Framework, потому что в нем так много глубины, но это определенно обоюдоострый меч для начинающих.

Я бы определенно рекомендовал воспользоваться опытом других пользователей и найти несколько простых примеров инфраструктуры. ZF обладает высокой адаптивностью , но вам нужно попробовать и поработать в простейшем из возможных случаев.

Я думаю, что Мэттью Вейер о'Пинни, (ищите «Phly, boy, phly»), является одним из наиболее доступных членов команды разработчиков и имеет множество примеров и идей на своем сайте.

Удачи!

0 голосов
/ 02 сентября 2009

Вся документация, особенно документация Zend, абсолютно ужасна. Все это предполагает, что вы «знаете», куда поместить фрагменты, на которые они ссылаются, и как они работают вместе. Если бы я уже знал эти вещи, мне не понадобилась бы документация. Нет полного примера приложений с аутентификацией и т. Д., Которые вы можете скачать и изменить. Я серьезно сожалею о том, что потратил время на изучение этой основы. Все примеры, которые я могу найти, по-видимому, для более старых версий. Я следовал за одним для аутентификации на YouTube, который был разработан для 1.8 к письму. Это не работает в 1.9.x. Не могу заставить его работать ради меня. Полностью разочарован Zend Framework!

0 голосов
/ 13 июля 2009

У меня так много сочувствия к тебе, Билли. Я новичок, и путаница между старым и новым способами почти слишком сложна. Также смотрите здесь для кого-то, кто указывает на некоторые из основных отличий:

http://crossfunctional.wordpress.com/2009/05/

0 голосов
/ 01 июля 2009

На веб-сайте Front Range PHP Users Group есть некоторые презентации на Zend Framework, которые могут быть полезны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...