Базовые технологии для web-разработки
PHP (изначально Personal Home Page) – это препроцессор гипертекста (Hypertext Preprocessor), который является скриптовым, интерпретируемым языком программирования, используемым в web-разработке для обеспечения взаимодействия пользователей сайта с сервером.
PHP имеет долгую историю развития и представляет собой технологию с открытым исходным кодом. PHP расширяет возможности гипертекста и позволяет встраивать сценарии прямо в html-код, делая web-страницы динамическими (перестраиваемыми непосредственно в процессе работы с сайтом в ответ на определённые действия пользователя).
Статические сайты, наподобие простейших визиток, не нуждаются в использовании PHP, и для их создания потребуются знания только html и css. И даже если некоторые web-страницы сайта динамические, но предполагают выполнение каких-либо действий на стороне клиента (то есть без постоянных обращений к серверу, на котором хранится сам сайт), то PHP для этого также не обязателен. Достаточно будет кода на JavaScript, который позволяет оживлять web-страницы, добавляя к ним реакцию на определённые действия пользователя.
Когда же действительно нужен PHP? Он нужен, если по замыслу проекта на web-страницах сайта будет происходить обращение к серверным данным, например, собирается какая-либо статистика по всем пользователям приложения с последующим сохранением данных на сервере, или, наоборот, происходит запрос каких-то сведений из базы данных, расположенной на сервере. Простейшие примеры здесь – интернет-магазины или форумы, когда пользователь заполняет на сайте определённую форму и отправляет свои данные на сервер или же обменивается сообщениями с другими пользователями сайта.
Понятно, что хранить данные о каждом зарегистрированном пользователе сайта нужно на серверной стороне сайта (backend), а не на клиентской (frontend), где данные доступны только самому пользователю и только в момент определённого сеанса. Так как действительно именно сервер позволяет сохранить необходимые сведения надолго и сделать возможным их дальнейшую обработку. Всё, что происходит на клиентской стороне, видно конкретно каждому пользователю, но в этот момент они никак не взаимодействуют друг с другом через сайт: например, каждый играет в одну и ту же игру, находящуюся на сайте и написанную с помощью JavaScript, но при этом имеет свою определённую ситуацию, отображаемую на экране в браузере.
Если же задача такая, что требуется определённым образом учитывать этих пользователей, сохранять в файлах сайта передаваемую ими информацию, важную для каких-либо дальнейших действий (для взаимодействия их друг с другом или же для взаимодействия каждого отдельного пользователя с какой-либо информацией, расположенной на сервере), то здесь для написания сайта будет нужен серверный язык программирования, такой как PHP.
С помощью PHP создавались, например, Wikipedia, Facebook, WordPress, Yahoo!, Baidu, то есть это очень популярный язык для backend-разработки.
Особенности создания сайта на PHP
Язык программирования PHP позволяет создавать сценарии (скрипты), которые будут обращаться к серверу и обмениваться с ним данными, вызывая определённую реакцию на действия пользователей сайта.
Главной особенностью PHP является слабая динамическая типизация, то есть то, что типы переменных не задаются программистом в коде, но для корректной работы программы при её запуске все преобразования с различными типами данных всё же должны быть совместимыми и допустимыми. С одной стороны, такой код проще создавать, и он будет более легко читаемым (любая переменная в PHP обозначается, начиная со знака $, расположенного перед её именем). Но, с другой стороны, программисту надо самому внимательно следить за переприсваиванием переменных, отвечать за совместимость типов данных, чтобы потом не возникло непредвиденных ошибок при выполнении программы, когда типы переменных будут автоматически определяться., расположенного перед её именем). Но, с другой стороны, программисту надо самому внимательно следить за переприсваиванием переменных, отвечать за совместимость типов данных, чтобы потом не возникло непредвиденных ошибок при выполнении программы, когда типы переменных будут автоматически определяться.
Далее перечислим другие (как положительные, так и отрицательные) стороны применения языка PHP.
К плюсам относятся:
- Простой синтаксис, что делает PHP удобным для изучения.
- Это достаточно гибкий и свободный язык.
- PHP является бесплатным, и его код находится в открытом доступе.
- PHP совместим почти с любыми современными серверами.
- Существует много библиотек, баз данных и фреймворков для PHP.
Теперь минусы:
- Для работы с PHP нужно обязательно иметь знания по html и, желательно, по css (для красивого оформления web-страниц).
- Наличие сложностей с поддержкой кода из-за гибкости языка PHP.
- Проблемы с безопасностью из-за открытости кода и, зачастую, из-за непредусмотренной защиты самими web-разработчиками.
- PHP – не очень производительный язык (например, JavaScript работает гораздо быстрее).
- Отсутствие чёткой системы в названиях функций стандартной библиотеки (особенно, если имена с сокращениями и подчёркиваниями), что усложняет работу с языком.
Напомним, что работа сценариев PHP очень взаимосвязана с HTML-кодом, то есть тем, что определяет содержимое и наполнение всей web-страницы (или всего сайта).
При этом предусмотрены следующие возможности:
- встраивание php-кода в html-разметку web-страницы;
- вызов html-страницы из отдельного php-файла при помощи инструкций include или require.
Рассмотрим простейший пример вывода на web-страницу текстовых сообщений, в котором используется сочетание этих двух действий:
Рисунок 1. Код. Автор24 — интернет-биржа студенческих работ