Статьи

Последнее, что мы проверили, PHP это фреймворк.

Когда дело доходит до языков веб-программирования, PHP, вероятно, удерживает рекорд для критики со стороны сообщества в целом. Сравнения с альтернативами, такими как Ruby on Rails и Python / Django, распространены; Защитники PHP быстро критикуют сравнение языка и фреймворка. Но, в конце концов, разработчики работают с Ruby on Rails, Python / Django и PHP. Просто PHP. Для большинства приложений PHP язык просто идеален, потому что PHP, в некоторой степени, является основой.

PHP предназначен для Интернета. Вы можете подключить ванильный Ruby или Python к веб-серверу и довольно быстро начать работу. Но, по крайней мере, на базовом уровне, вы бы хотели, чтобы среда для решения общих проблем веб-разработки. В PHP вы только начинаете. PHP и Apache обрабатывают данные запросов, обработку вывода и многое другое, прямо из коробки. ( PHP также справляется с развертыванием. ) Дэвид Хайнмайер Хэнсон, создатель платформы Ruby on Rails, называет это непосредственностью PHP .

Теперь рассмотрим «средние» PHP-фреймворки. Они помогают обрабатывать данные запросов, управлять выводом, контролировать поток приложений — существенно расширяя встроенную функциональность PHP. Следовательно, они представляют собой PHP-фреймворки на PHP-фреймворке. PHP предоставляет широкий спектр (простите за каламбур) функциональности из коробки. Но когда вы хотите делать что-то по-своему, это убирается с дороги, и это действительно важно при создании чего-либо, выходящего за рамки простого интерфейса базы данных.

Сколько PHP-приложений в широком распространении построено на стороннем фреймворке? Обсуждение MediaWiki? Здесь нет рамок. WordPress? Здесь тоже нет. Drupal? Вы поняли идею. Каждое из этих приложений имеет свою собственную структуру, поскольку разработчики создали структуру для своего кода, которая соответствовала тому, что они пытались создать. Эти трое и многие другие явно сделали что-то правильно — MediaWiki даже поддерживает один из 10 лучших сайтов в мире . И при создании этих «фреймворков» PHP помог им на этом пути.

Конечно, Cake, Symfony, CI — все они помогают вам создавать приложения PHP. Но в отличие от Ruby-фреймворка или Python-фреймворка, кодирование вполне терпимо без них. Конечно, большинство разработчиков, как правило, создают свои собственные фреймворки — я называю это менталитетом фреймворков DIY , где вы создаете последний уровень в своем стеке, и, соответственно, вы точно знаете, что происходит внутри.

Это возвращает нас к часто цитируемому аргументу «лучший инструмент для работы», но, будучи своего рода «половиной фреймворка», PHP просто помогает вам в веб-контексте. Я уверен, что Rails отлично подходит для бесчисленных приложений; Синтаксис Ruby тоже немного помогает. Но помимо основ языка становится все более неактуальным, и фреймворк заставит вас создавать свое приложение в соответствии с проектными решениями, принятыми первоначальными разработчиками. С другой стороны, PHP позволяет вам быстро собрать ваше приложение так, как вы хотите, помогая вам с веб-аспектом и без необходимости ломать язык / структуру для достижения ваших целей . По сути, PHP — это веб-слой без базового пакета.

У Twitter недавно было некоторое время простоя, которое можно объяснить использованием Ruby on Rails . Теперь нет ничего плохого в Ruby или Rails. Но Twitter — это система обмена сообщениями, RoR — платформа приложений. Можно ли было обойти Rails, чтобы удовлетворить Twitter? Может быть. Мог бы Twitter избежать этих проблем, если бы они использовали PHP? Наверное. Разработчики Twitter отметили, что не ожидают, что сайт будет таким успешным. Если бы они построили его на PHP, они, вероятно, столкнулись бы с другими (похожими) проблемами ранее, переписали бы все приложение, пока оно еще было возможно, и создали бы мощную систему, которая могла бы прекрасно масштабироваться (вероятно, с платформой обмена сообщениями в C). , Использование PHP могло бы помочь не как язык с синтаксисом и библиотеками как таковой, а как платформа для веб-разработки, которая дает разработчикам свободу создавать свои системы так, как они хотят. ( Они могли бы также попробовать Erlang .)

Поэтому в следующий раз, когда вы будете искать среду PHP для создания своего приложения-убийцы, подумайте об использовании лучшей из них: PHP. Это даст вам свободу достигать того, что вы хотите, как вы хотите, с результатами. Быстрый взлом? Проверьте руководство, это может быть однострочник. Массивная распределенная платформа обмена сообщениями? Вперед, строи свой путь. Для всего промежуточного есть множество вариантов, но если у вас есть время, PHP — это вся необходимая среда.