Как увеличить скорость обучения Zend Framework? - PullRequest
13 голосов
/ 21 марта 2009

Преамбула: Время от времени я использую PHP более 8 лет, но никогда не использовал фреймворк, только писал скрипты и дополнения. В основном я использовал генераторы кода, такие как CodeCharge Studio или пользовательский код для приложений в интрасети. Поскольку я в порядке с шаблонами проектирования, Zend Framework не выглядит для меня слишком сложным для изучения.

Начиная с ZF: я прочитал руководство по QuickStart и удивляюсь, что может помочь мне быстро освоить базовую разработку веб-приложений на Zend. Как я понимаю, есть повторяющихся задач , которые занимают много времени.

Вопросы: Например, почти для каждого сайта, который я разрабатываю, должен быть процесс регистрации пользователя, и я не хочу изобретать колесо и тратить неделю на формы входа / профиля.

1) Используете ли вы, разработчики Zend, какие-то прототипы, которые вы написали, для быстрого развертывания базового сайта?

2) Или есть какие-то исходные коды сайта, которые будут основаны на уже доступных?

3) Есть ли какой-нибудь генератор приложений или вспомогательный инструмент для страниц с сетками, записями и т. Д.?

P.S. Я прекратил изучать EJB более 6 лет назад, потому что у меня не было никого, чтобы задавать подобные вопросы. ТИА!

Ответы [ 9 ]

20 голосов
/ 22 марта 2009

1) Используют ли разработчики ZF некоторые вид прототипов для быстро развернуть базовый сайт?

Zend Framework пока еще слишком молод для компонентов в этой области, однако существует неофициальный канал PEAR . По состоянию на март '09, лидеры мысли все еще обсуждают лучшие способы все организовать. Лично меня больше всего волнуют доменные инициативы , так как они будут самыми надежными.

2) Есть ли на сайте исходники быть построенным на уже имеющихся?

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

3) Есть ли генератор приложений или второстепенный инструмент для страниц с сетками, записи и т. д.

В состав Zend_Tool , который планируется выпустить в ZF v1.8, входит генератор строительных лесов. В настоящее время он находится в инкубаторе, я попробовал его на прошлой неделе, и он работает, но в его текущем состоянии генерируется не так много компонентов.

На прошлой неделе я наконец нашел время, чтобы собрать источники (включая ленту вопросов Stack Overflow ZF). Я поместил их под тег Zend Framework в Google Reader и со временем буду уточнять источники каналов. Если вы предпочитаете управлять ими самостоятельно, вот текущий OPML.

Желаем удачи! Матф

<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
    <head>
        <title>expertseries | Zend Framework | Google Reader</title>
    </head>
    <body>
        <outline title="Zend Framework" text="Zend Framework">
            <outline text="A.J. Brown" title="A.J. Brown" type="rss"
                xmlUrl="http://feeds.feedburner.com/ajbrowns_blog" htmlUrl="http://ajbrown.org/blog"/>
            <outline text="Armando Padilla" title="Armando Padilla"
                type="rss" xmlUrl="http://www.armando.ws/?feed=rss2" htmlUrl="http://www.armando.ws"/>
            <outline text="Benjamin Eberlei" title="Benjamin Eberlei"
                type="rss"
                xmlUrl="http://www.whitewashing.de/about/rss/all" htmlUrl="http://www.whitewashing.de"/>
            <outline text="Bradley Holt" title="Bradley Holt" type="rss"
                xmlUrl="http://bradley-holt.blogspot.com/feeds/posts/default" htmlUrl="http://bradley-holt.blogspot.com/"/>
            <outline text="Cal Evans" title="Cal Evans" type="rss"
                xmlUrl="http://blog.calevans.com/feed/" htmlUrl="http://blog.calevans.com"/>
            <outline text="Chris Hope" title="Chris Hope" type="rss"
                xmlUrl="http://feedproxy.google.com/ElectricToolboxBlog" htmlUrl="http://www.electrictoolbox.com"/>
            <outline text="Codecaine.co.za" title="Codecaine.co.za"
                type="rss" xmlUrl="http://www.codecaine.co.za/rss/" htmlUrl="http://www.codecaine.co.za/"/>
            <outline text="Douglas Brown" title="Douglas Brown"
                type="rss" xmlUrl="http://www.brownphp.com/feed/" htmlUrl="http://www.brownphp.com"/>
            <outline text="Federico Cargnelutti"
                title="Federico Cargnelutti" type="rss"
                xmlUrl="http://blog.fedecarg.com/feed/" htmlUrl="http://blog.fedecarg.com"/>
            <outline text="Jani Hartikainen" title="Jani Hartikainen"
                type="rss" xmlUrl="http://codeutopia.net/blog/feed/" htmlUrl="http://codeutopia.net/blog"/>
            <outline text="Juozas Kaziukėnas" title="Juozas Kaziukėnas"
                type="rss" xmlUrl="http://dev.juokaz.com/feed/rdf" htmlUrl="http://dev.juokaz.com"/>
            <outline text="Matthew Turland" title="Matthew Turland"
                type="rss" xmlUrl="http://ishouldbecoding.com/atom/1" htmlUrl="http://ishouldbecoding.com/"/>
            <outline text="Matthew Weier O'Phinney"
                title="Matthew Weier O'Phinney" type="rss"
                xmlUrl="http://weierophinney.net/matthew/feeds/index.rss2" htmlUrl="http://weierophinney.net/matthew/"/>
            <outline text="Michelangelo van Dam"
                title="Michelangelo van Dam" type="rss"
                xmlUrl="http://www.dragonbe.com/feeds/posts/default" htmlUrl="http://www.dragonbe.com/"/>
            <outline text="Mike Rötgers" title="Mike Rötgers" type="rss"
                xmlUrl="http://www.roetgers.org/feed/" htmlUrl="http://www.roetgers.org"/>
            <outline text="Nick Lo" title="Nick Lo" type="rss"
                xmlUrl="http://www.ingredients.com.au/nick/feed/" htmlUrl="http://www.ingredients.com.au/nick"/>
            <outline text="Pádraic Brady" title="Pádraic Brady"
                type="rss"
                xmlUrl="http://blog.astrumfutura.com/feeds/index.rss2" htmlUrl="http://blog.astrumfutura.com/"/>
            <outline text="Raphael Stolt" title="Raphael Stolt"
                type="rss"
                xmlUrl="http://raphaelstolt.blogspot.com/feeds/posts/default" htmlUrl="http://raphaelstolt.blogspot.com/"/>
            <outline text="Rob Allen" title="Rob Allen" type="rss"
                xmlUrl="http://akrabat.com/feed/" htmlUrl="http://akrabat.com"/>
            <outline text="Robert Basic" title="Robert Basic" type="rss"
                xmlUrl="http://feeds2.feedburner.com/robertbasic/blog/" htmlUrl="http://robertbasic.com/blog"/>
            <outline text="Stack Overflow ZF" title="Stack Overflow ZF"
                type="rss"
                xmlUrl="http://stackoverflow.com/feeds/tag/zend-framework" htmlUrl="http://stackoverflow.com/questions/tagged/zend-framework"/>
            <outline text="Thomas Weidner" title="Thomas Weidner"
                type="rss"
                xmlUrl="http://www.thomasweidner.com/flatpress/feed/rss2/" htmlUrl="http://www.thomasweidner.com/flatpress/"/>
            <outline text="Tom Graham" title="Tom Graham" type="rss"
                xmlUrl="http://www.noginn.com/feed/" htmlUrl="http://www.noginn.com"/>
            <outline text="Zend Dev Zone" title="Zend Dev Zone"
                type="rss"
                xmlUrl="http://feeds.feedburner.com/ZendDeveloperZone" htmlUrl="http://devzone.zend.com/"/>
        </outline>
    </body>
</opml>
3 голосов
/ 21 марта 2009

В DevNotes от Akra есть отличный учебник по созданию примера приложения:

http://akrabat.com/zend-framework-tutorial/

Здесь я начал работать с ZF.

2 голосов
/ 24 марта 2009

Если вы уже знакомы с MVC и шаблонами проектирования, то почему бы не обратиться к инструментам, которые помогут вам быстрее писать код?

Хотя мне обычно нравятся бесплатные инструменты, я должен сказать, что использование Zend Studio IDE (на основе Eclipse) помогает работать быстрее (30-дневная бесплатная пробная версия).

Основные моменты (кроме отладчика / профилировщика):

  • может генерировать скелет для приложений MVC
  • скелеты кода по умолчанию для базовых блоков (контроллеры, представления, модели)

и - но не в последнюю очередь -

  • автозаполнение для всех классов Zend (и вы можете нажать Ctrl + клик по именам классов, чтобы открыть их). Очень удобно, надо сказать.

Просто убедитесь, что у вас есть компьютер с большим объемом памяти!

1 голос
/ 22 марта 2009

Насколько я понимаю, есть скучные задачи, которые занимают много времени.

Это правда, и, как вы заявили, почти на каждом сайте есть процесс регистрации и тому подобное. Хотя я согласен с тем, что реализация таких функций снова и снова может быть повторяющейся, в некоторой степени каждое приложение будет иметь свой уникальный набор требований - это означает, что потребуется как минимум небольшая работа по настройке, даже если вы повторно используете код из старый проект на основе ZF. Теперь я отвечу на ваши пронумерованные вопросы

Вы, разработчики Zend, используете какие-то прототипов, которые вы написали, чтобы катиться быстро создать базовый сайт?

Не совсем. Я не выбрал бы ZF для «базового» сайта и не использовал бы MVC-фреймворк. Мое текущее предположение состоит в том, что базовый сайт состоит из 8-12 отдельных частей, без особой функциональности и конечных требований. Помните, что когда мы говорим «framework», почти всегда происходит заметное снижение производительности, в дополнение к любым ошибкам и проблемам, которые могут быть присущи этой среде. «Прототипы», о которых вы говорите, будут в классах, доступных в Zend Framework, например, Zend_Auth для создания полнофункциональной системы аутентификации за 15 минут.

2) Или есть какие-то исходники сайта быть построенным на уже имеющихся?

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

3) Есть ли генератор приложений или второстепенный инструмент для страниц с сетками, записи и т. д.

Я не совсем уверен, что вы имеете в виду под этим, но если бы у меня была случайная догадка, возможно, Zend Studio?

1 голос
/ 21 марта 2009

Использование фреймворка означает, что вам не придется делать все эти утомительные повторяющиеся вещи.

1 голос
/ 21 марта 2009

Я сейчас в вашей точной ситуации (чуть меньше лет с php: P)

В настоящее время я использую Zend FrameWork в действии в качестве справочного материала, и, как я видел до сих пор, довольно просто повторно использовать вашу структуру из старых заданий. После того, как вы настроили предпочтительные параметры и древовидную структуру, вы можете использовать их снова и снова.

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

0 голосов
/ 20 октября 2013

Для быстрого старта вы можете прочитать книгу " Learn ZF2 ". Он написан с помощью основных членов команды Zend Framework 2 (ZF2) и создателей курса ZF2 и, вероятно, лучше всего подходит для получения хорошего представления о Zend Framework 2 и его функциях. Книги сопровождаются исходным кодом и шаг за шагом знакомят вас с различными концепциями. Интересное чтение, которое становится лучше с каждой страницей.

0 голосов
/ 22 октября 2009

У нас есть инструмент, который может помочь: nWire for PHP анализирует ваш код, помогает вам перемещаться по нему и визуально представляет компоненты и ассоциации. В конечном итоге вам нужно будет прочитать код, и с nWire это станет намного проще.

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

Есть хорошая немецкая книга, вы можете найти стартовое приложение в архиве на этом сайте и изучить код: http://www.zend -framework-buch.de /

...