2009-06-19 3 views
5

Я новичок в Zend Framework.Трудности при изучении Zend Framework 1.8

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

Многие учебники упоминают frontController и registerAutoload() в файле начальной загрузки. Однако, похоже, я не вижу его снова в коде версии 1.8 (оба в official quickstart tutorial и Getting Started with Zend Framework 1.8). Многие учебники содержат старую версию кода, и в v1.8 она кажется совсем другой.

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

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

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

ответ

8

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

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

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

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

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

4

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

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

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

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

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

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

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

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

0

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

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

0

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

2

Я рекомендую эти видеоуроки pu up by guy под названием Alex, он держит их в курсе и выпускает новые все время, все они имеют отношение к ZF 1.8 и 1.9.

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

http://alex-tech-adventures.com/development/zend-framework.html?start=15 - его сайт немного comfusing но стоит время в выяснении это из :)

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

0

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

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

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

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

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

Удачи вам!

1

Некоторых советы:

Вот хорошая схема процесса диспетчеризации

http://nethands.de/download/zenddispatch_en.pdf

Это гораздо легче понять, ZF, если у вас есть опыт в объектно-ориентированном программировании/ООП шаблонов проектирования

Когда я впервые наткнулся на ZF, я не знал о ООП. ZF побудило меня узнать ООП, что было очень хорошо.

Различать между «магией» от ZF и фактической ZF архитектурой

Хотя у меня есть хорошее понимание классов ZF я еще запутаться, когда ZF добавляет свою «магию» к соединению.

Когда я говорю «волшебный» Я имею в виду такие вещи, как

  • объекты по умолчанию загружены и использованы, если не указано, и
  • URL-controllername-путь_к_файлу-имя_файла перегибы/именования.
  • конфигурация настройка-к-классовой конкретизации отображение

ZF немного напоминают трещины-дилер в том смысле, что «Начало работы Учебники», чтобы вы подключили сразу. Они выполняют так много волшебства, что заставляют вас думать .oO (Вау - как это было просто!)!

Тогда как только вы начнете пытаться сделать свое дело - волшебство начинает действительно сбивает с толку.

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

Затем, когда что-то странное происходит, вы можете найти ошибки более легко.

Кроме того, если вы указываете местоположения классов/путей как (против того, чтобы ZF магически менял пути и находил скрипты), вам не нужно беспокоиться о вопросах «где это поставить? , где это поставить? - вы просто ставите вещи, где хотите, чтобы они были, и явно указывали на них ZF.

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

Как сказал Тим Уордл в другом ответе - просьба о помощи требует заявлений по загрузчику zend, пока вам это не понадобится.

Если вы являетесь зданием дизайна PHP, который производит 10 проектов веб-сайта в неделю, то ZF Magic может быть действительно полезен. Если вы разрабатываете свое первое приложение ZF, значит, «сокращение сложности» - это более важная цель дизайна, чем «повторное использование».

Просмотр кода

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

Опять же магия ZF может мешать - я часто хочу посмотреть аргументы метода, чтобы узнать, что мне нужно передать, только чтобы обнаружить, что он ожидает двусмысленного «массива параметров» (не совсем полезно). Однако через некоторое время вы начинаете замечать соглашения, используемые в том, как «ключ выбора» выходит замуж до метода getter/setter. Итак, продолжайте смотреть на код и познакомиться с «ZF way».

Я делаю это «elps.

+0

Написав свою часть на магию ZF, мне показалось, что было бы хорошо иметь какой-то компонент «ZF Magic Info», который «наблюдает» за фреймворком и позволяет вывести что-то вроде «phpinfo()» в конце так что мы можем видеть, что gwan дальше. - просто мысль –

Смежные вопросы