Что такое язык программирования PHP
PHP — скриптовый язык общего назначения для разработки серверных частей веб-приложений. Сама аббревиатура «PHP», как утверждают различные источники, образована от английского «Hypertext Preprocessor», хотя, судя по порядку букв, можно расставить слова как Pre-Hypertext-Processor (но правильно-ли это с точки зрения английского языка?).
Как работает?
Программы, написанные на PHP исполняются на сервере. Сам движок компилирует текст программы в байт-код, который затем исполняется. Обычно генерация байт-кода происходит каждый раз при запуске скрипта. На заре своего развития PHP был чистым интерпретатором (исполнял рукописный текст программы, а не байт-код), что не способствовало большой производительности. Далее оказалось, что перевести текст программы (транслировать или пусть будет даже компилировать) в промежуточный оптимизированный байт-код, а затем уже исполнить результат гораздо быстрее. Что, в принципе, является отражением старинной пословицы о том, что сапоги должен тачать сапожник, а пироги — пирожник. В результате современный движок PHP состоит из двух частей: транслятора в байт-код и интерпретатора байт-кода.
В большинстве случаев, волею специалистов различного уровня, результатом работы скрипта является некий HTML-код, который передается веб-серверу (имеется в виду серверная программа, например Apache) и отправляется в браузер клиента в качестве ответа от этого самого сервера. Но возможны и вариации по выводу картинок (например — сгенерированной капчи), XML и других типов данных. Перед тем, как «пропускать» через PHP-скрипт какие-нибудь громоздкие вещи вроде больших PDF-документов и выполнением различных «силовых упражнений» с этими «мегабайтовыми штангами», профессионалы рекомендуют тщательно оценить целесообразность такого решения и попытаться избежать столь радикальных подходов к решению задач. В самом деле, зачем из картинки
Плюсы и минусы, видимые глазу чайника
Плюсами PHP являются быстрая работа (особенно с текстовыми строками), мощный функционал (поначалу вас не покинет ощущение, что разработчики PHP делали его именно для вас, так как на любой вопрос сможете найти готовую функцию), куча готовых сторонних решений и полезных расширений языка, легкость в освоении, относительная легкость в отладке при работе в простом текстовом редакторе (есть «отладочные функции»).
К минусам же можно отнести большой расход памяти (особенно при программировании на основе объектно-ориентированного подхода), существенные отличия от других языков, особенно в ООП (при первой встрече кажущиеся странными), куча разных мелких нюансов, влияющих на производительность (которые желательно знать, приходит с опытом) и, как ни странно, куча готовых решений и полезных расширений языка.
Последний пункт попал как в плюсы, так и в минусы по причине того, что расширения и решения эти пишет всякий как ему вздумается, используя собственные правила именования классов, функций (то «array_reverse», то «getImageSize», то «Zend_Controller_Front::getInstance()») - привыкнуть сразу ко всему невозможно, что представляет трудность для новичков при наработке опыта и запоминании функций.
Постоянную генерацию байт-кода тоже непонятно куда отнести. С одной стороны — это грузит сервер. С другой — позволяет программисту постоянно вносить изменения в код, которые тут же вступают в силу. Да и есть различные способы этого избежать. В любом случае, новичкам об этом рано задумываться — желание написать свой «вконтакт» обычно пропадает сразу после первых попыток написания чего-то сложнее чем «Привет, Мир!».
07.09.2010 | 02:11
