Вход Регистрация
ruen

Устройство языка PHP, его плюсы и минусы

php-work

Язык PHP сегодня используется при разработке большинства сайтов и веб-приложений. Этот язык задумывался авторами как простой и доступный инструмент для создания динамических страниц, и нужно сказать у них получилось. Как удалось создать столь удобное средство для разработки веб-проектов?

Если посмотреть на историю языка и первые версии, становится понятно, что язык воплотил в себе все самые лучшие черты существующих языков программирования для настольных систем, например, многие функции напоминают поведение функций из языка C или C++. Согласно некоторым источникам, на развитие языка PHP оказали влияние такие языки, как Perl, C, C++, Java, Tcl.

Как работает PHP? Известно, что файлы сайта размещаются на сервере, который способен обрабатывать скрипты на определенном языке, например, на PHP. Сам сервер, например, Apache, написан на системном языке программирования, например, на C. То есть сервер – это простая программа на специально подготовленной ЭВМ, которая способна принимать запросы извне и отсылать ответы тому клиенту, который запросил данные. Так как по сути сервер – это обычная программа, то и код для него лучше всего было бы писать на том же системном языке, на котором написан сам сервер. Но системные языки сложные, поэтому нужно было упростить написание кода. Для таких целей и задумывался язык PHP.

Весь написанный код на PHP, в момент запуска загрузки страницы, загружается в память сервера и выполняется интерпретация кода, его разбор. Если есть ошибки, работа останавливается и выдается ошибка, если нет – код обрабатывается, переводится в машинные коды и выполняется.

PHP – это своего рода некоторая надстройка, анализ и разбор кода PHP происходит на более низком уровне. Обобщенно - при выполнении кода происходит перевод несложных команд языка PHP в более сложные низкоуровневые, для чего используются различные анализаторы (лексический, синтаксический и т.д.), задействуется транслятор, генерирующий опкоды и команды - после этого их выполняет виртуальная машина и переводит в машинный код. На PHP можно просто написать echo "Hello World!" и будет выведена эта фраза, но сделать вывод этого же контента на экран на более низкоуровневом языке сложнее, там понадобилось бы писать много подготовительного кода, прежде чем отправить данные на вывод.

Главная черта PHP – кажущаяся простота и легкость разработки. С одной стороны, это плюс, не нужно следить за типами переменных, не нужно управлять выделением памяти и выполнять прочие рутинные операции. С другой стороны, такая легкость породила множество непрофессионально написанных скриптов, которые могут быть небезопасны, трудны в поддержке и т.д. Начать разработку на PHP легко, но чтобы добиться приемлемых результатов потребуется опыт. Код может быть написан с использованием разных парадигм программирования, будь то ООП или процедурный стиль, или же иная парадигма. Хорошо написанный скрипт отличает множество факторов. Поддержание определенных правил визуального оформление кода является хорошей манерой - код должен иметь одинаковые отступы, согласованное именование переменных, функций и т.д. Кроме внешнего оформления, важна сама логика программы - необходима оптимизация написанного кода, проверка его на безопасность и прочие процедуры.

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

Комментарии (0)
Для комментирования войдите или зарегистрируйтесь.

Последние статьи

Популярные разделы

Eqsash (Инструменты)

Приложение для Android - VK LAST USER ID, отучитель от зависимости и т.д.:
Доступно в Google Play

Amessage (Общение)

Вход в веб-версию
Приложение для Android:
Доступно в Google Play

Поделиться

Подписаться

YouTube

Книги

IT-заметки - Простым языком о самом нужном (HTML, CSS, JavaScript, PHP, базы данных, Drupal, Битрикс, SEO, домены, безопасность и другое), PDF, 500 стр.