Zend Framework это сложно. Он не был построен в качестве основы начального уровня, предполагается, что знание соответствующих концепций 1 . Тем не менее, первое требование к Zend Framework 2.0 - сделать его немного проще:
Облегчить обучение
В конце 2009 года мы провели опрос пользователей инфраструктуры, чтобы определить, что они используют, какие среды они используют и каковы их потребности. Главной проблемой, без исключения, была трудность изучения структуры. Некоторые из этих проблем включают в себя:
- Сложность в «первый час» с рамками.
- Неопределенность относительно «следующих шагов» после быстрого старта.
- Несовместимые API в самом исходном коде. Один компонент может использовать «плагины», другой «помощники» и еще один «фильтры».
- Неопределенность в отношении того, где существуют точки расширения и как их программировать.
- Путаница в том, могут ли они использовать Zend Framework только в качестве стека MVC или в качестве отдельных компонентов.
Так что это не только вы, это трудно для всех - прочитайте всю вики-страницу, есть довольно много вещей, которые определены как излишне сложные. Но даже если вышеуказанное требование будет выполнено, оно все равно не станет средой начального уровня, а это означает, что это не среда, на которой вы должны учиться, а та, которую вы должны использовать, когда вы действительно поняли вовлеченные концепции.
Поскольку вы все еще учитесь, было бы гораздо ценнее создать собственную архитектуру MVC. Расмус Лердорф в пресловутом 2 « The No-рамка PHP MVC рамка » блог дает очень простой и чистый пример MVC с помощью процедурного PHP, без каких - либо рамок или другой библиотеки третьего лица.
Но если вы действительно хотите учиться с помощью фреймворка, вы должны рассмотреть микро-фреймворк вместо полноценного. Slim имеет очень маленькую, чистую и тщательно протестированную кодовую базу, и она должна быть идеальной для обучения. Я не играл ни с какими другими микро-фреймворками, вы должны провести собственное исследование и решить, какой из них лучше для вас.
И для быстрого и грязного введения в маршрутизацию, смотрите мой ответ на этот вопрос . Это не очень сложная концепция для понимания, но Zend Framework заставляет ее выглядеть намного больше, чем есть на самом деле .
1 Лучшее описание, которое я прочитал для ZF, это то, что это фреймворк для построения фреймворка , а не фреймворк приложения. Это сырая мощь, а экстремальный список функций не подходит для небольших и средних веб-сайтов. К сожалению, не могу найти, где я это прочитал.
2 Прочитайте заявление об отказе от ответственности в верхней части сообщения блога.
Обновление, вдохновленное комментарием @ Karpie:
Фреймворк не должен быть сложным, весь смысл фреймворка в том, чтобы сделать вещи проще. Вполне возможно, что даже с твердым пониманием концепций, ZF не подходит для вас.
При выборе фреймворка учитывается множество субъективных факторов, и если в любой другой фреймворке не хватает функциональности, которая вам абсолютно необходима - и вы не можете писать самостоятельно, вам следует избегать ZF и использовать фреймворк, который кажется вам более естественным.
Если вы знаете концепции, структура не должна мешать.