Есть несколько вопросов о фреймворках PHP, но мне любопытно, какие из них используются в коммерческом мире при разработке веб-приложений с PHP. На моем первом сетевом задании у них не было рамки для PHP-кода. Является ли это распространенным явлением при работе с PHP? Если нет, то какие структуры для компаний, производящих продукт (или сайт, который предоставляет услугу какого-либо рода или продукт, основанный на Интернете, который можно приобрести) с использованием PHP, как правило, используют?
Является ли это распространенным явлением при работе с PHP?
По моему опыту, к сожалению, это так. Это, конечно, грубое обобщение, но люди, которые склонны изучать PHP как свой первый язык программирования, не изучают основы поддерживающей разработки программного обеспечения и часто не знают, как писать хороший код. Я думаю, что это неудача сообщества PHP, где исторически большинство учебных ресурсов не подчеркивают хорошие практики (вероятно, потому, что авторы ничего не знали!). Конечно, вы можете написать хороший код с PHP, если вы понимаете основные принципы программирования.
Компании часто начинаются с базы кода hap-hazzard из скриптов PHP, которые повторно используются и постепенно расширяются от проекта к проекту (часто без контроля источника!). Компании, которые знают, что они делают и воспринимают это всерьез, превратят это в какую-то внутреннюю структуру, или я часто обнаружил, что они перейдут на что-то без исторической сложности PHP, например Django или Ruby on Rails.
Если вы только начинаете, существует несколько достойных фреймворков MVC, которые станут хорошей базой для всех ваших разработчиков, чтобы учиться и использовать. В определенном порядке:
Конечно, есть и другие.
Тем не менее, как всегда, это зависит от проекта. Иногда фреймворк либо не имеет смысла, либо будет излишним, в то же время вам лучше использовать готовый продукт (например, CMS) и строить его расширения.
Большинство фреймворков сильно ориентированы на уровень представления. Теперь «корпоративный», конечно, довольно расплывчатый термин, но я предполагаю, что вы имеете в виду более типичные ИТ-задачи, такие как учет, CRM и т. Д. Для этих задач уровень представления является гораздо меньшей частью всего приложения. Мало того, что это делает упомянутые рамки менее важными – это фактически дисквалифицирует их несколько, так как вы не хотите ограничений на свой модельный слой, которые они налагают.
Я думаю, что все чаще и чаще используется структура. Несколько лет назад большинство программистов разработали свои собственные рамки. Но стоимость обучения нового сотрудника для такой структуры становится все выше и выше. Поэтому многие компании сейчас переходят к хорошо известным структурам.
Я предполагаю, что Zend является в настоящее время наиболее используемой Framework в корпоративной среде. Одна из причин заключается в том, что он не дает вам никаких ограничений на уровне модели.
Я не могу предсказать будущее, но я думаю, что Flow3 будет использоваться и в будущем. Это новая платформа для Typo3. И многие разработчики Typo3 (веб-дизайнеры), которым нужно писать веб-приложения, вероятно, будут использовать Flow3.
В конце два три места, в которых я работал, были собственными (частными, встроенными).
Согласно опросу PHP Framework Popularity at Work от Sitepoint в 2015 году (7554 участников опроса), пять наиболее используемых фреймворков
Кроме того, результаты опроса показывают, что
Кажется, что существуют специфические рамки континентов: в Америке и Азии Laravel, по-видимому, является основой выбора (за исключением России: Yii 2), тогда как в Европе вы найдете больше Symfony2.
(Имейте в виду, что это только ссылка из одного источника – см. Ссылки выше.)
Единственная инфраструктура уровня предприятия, которую я могу представить, – это Zend Framework. CakePHP, Code Igniter и другие ориентированы только на разработку RAD.
Имея опыт работы с CI, yiiframework и calephp (не очень, на самом деле), я считаю, что CI не является гибким, как ohter 2, поэтому я не рекомендую его для более масштабных проектов. Любой, кто не согласен, просто может попробовать демонстрационный проект с cakephp и Yii, и он увидит, как с ними легче справиться как с проверкой, так и с проверкой формы и т. Д. Конечно, у всех есть свои недостатки 🙂
недавно я разговаривал с техническим директором компании, предлагая электронное лекционное решение, и некоторое время мы говорили о PHP … мы оба согласились, что это не лучший язык для твердых твердых решений, но он отметил структуру symfony , они использовали перед переходом в java …
Кроме того, поток3, упомянутый raffael, является довольно мощным … для меня самое интересное, он приносит AOP в PHP …
Greetz
back2dos
Вы можете посмотреть на http://www.flow3.org, это довольно комплексный подход к инфраструктуре приложений PHP и быстро приближается к его первой бета-версии бета-версии.
Я не уверен, что PHP пошел на рынок предприятия в США, но когда я работал в корпоративном офисе, языком, которым они пользуются, является Microsoft .NET. PHP еще не вступил в корпоративный мир IMO. Он популярен в мире хакеров и, возможно, в микро- и малых программных / веб-компаниях.