Баннер мобильный (1) Пройти тест

PHP

Глоссарий

1 марта 2024

Поделиться

Скопировано

Содержание

    PHP (Hypertext PreProcessor, «препроцессор гипертекста») — это скриптовый язык программирования. Имеет открытый исходный код. Изначально создавался для разработки веб-приложений, но в процессе обновлений стал языком общего назначения.

    лого PHP
    Логотип PHP

    Где и для чего используется PHP

    Язык программирования PHP спроектировал датский программист Расмус Лердорф в 1995 году как инструмент для создания интерактивных и динамических веб-сайтов. Расшифровывается как «Hypertext Preprocessor» (гипертекстовый предобработчик). Сейчас PHP активно используют веб-разработчики для создания сайтов и веб-приложений. Это наименее конкурентный язык для работы. Его использует большинство сервисов, и, скорее всего, ситуация не изменится в ближайшие 10 лет. Поэтому специалисты очень востребованы.

    Основная область применения — разработка скриптов, которые работают на стороне сервера. Также можно создавать скрипты командной строки и GUI-приложения (приложения с графическим интерфейсом пользователя).

    PHP используется в проектах разных масштабов: от браузерной игры и социальной сети до крупных веб-приложений в интернете, таких как Facebook*, ВКонтакте, Google, W3C, Yahoo, NASA. На PHP написаны многие системы управления контентом (CMS), например Drupal, WordPress, Joomla. Также он использовался при разработке популярных фреймворков для создания сайтов, например Yii2, Laravel, Symfony.

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

    Свойства PHP

    PHP — язык с динамической типизацией. Это означает, что переменная не определяется жестко и заранее (если число, то int, если строка — string). Динамическая типизация позволяет присваивать одной и той же переменной несколько значений: она может быть массивом, строкой, числом, объектом и т. д. Динамическая типизация удобная и гибкая, но приводит к потреблению большого количества оперативной памяти и уменьшает скорость работы.

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

    Возможности

    Вот некоторые из ключевых возможностей PHP:

    1. Динамические веб-страницы: PHP позволяет создавать динамические веб-страницы, которые могут адаптироваться к пользовательскому вводу и предоставлять интерактивные функции.
    2. Обработка форм: PHP легко интегрируется с HTML-формами, что делает его идеальным для обработки данных, отправляемых с веб-страниц.
    3. Работа с базами данных: PHP имеет широкую поддержку для множества систем управления базами данных (например, MySQL, PostgreSQL, SQLite), что делает его отличным выбором для создания веб-приложений с базами данных.
    4. Работа с файлами: PHP предоставляет функции для чтения, записи и обработки файлов на сервере, что полезно для управления содержимым сайта.
    5. Создание сессий: PHP может создавать и управлять сессиями пользователей, что полезно для отслеживания состояния пользователя между запросами.
    6. Работа с изображениями: PHP позволяет манипулировать изображениями, изменять их размеры, форматы и многое другое.
    7. Создание API: PHP может использоваться для создания веб-сервисов и API, что делает его полезным для разработки клиент-серверных приложений.
    8. Интеграция с другими технологиями: PHP может легко интегрироваться с другими технологиями, такими как HTML, CSS, JavaScript, что позволяет создавать полноценные веб-приложения.
    9. Множество библиотек и фреймворков: Существует множество библиотек и фреймворков на PHP, которые упрощают разработку и предоставляют готовые решения для различных задач.
    10. Кросс-платформенность: PHP поддерживается на различных операционных системах (Windows, Linux, macOS) и работает с различными веб-серверами (Apache, Nginx).

    Чем PHP отличается от других языков программирования

    CSS- и НТМL-файлы, как и файлы изображений, сервер отправляет сразу клиенту (браузеру), независимо от содержания. В отличие от них PHP-файлы содержат код, который интерпретируется на сервере. Клиент (браузер) получает не сам PHP-код, а результат его исполнения, который, как правило, является чистым CSS и HTML. Пользователь не может увидеть исходный код программы. Это хорошо с точки зрения безопасности, так как в этом случае трудно понять логику сайта.

    PHP хранит состояние, созданное в текущий момент времени. В отличие от классических компилируемых языков программирования, которые работают все время от запуска до остановки программы, PHP-скрипт начинает выполняться с момента обращения веб-сервера и заканчивает (забывает все, что знал), когда возвращает сгенерированный пакет данных обратно веб-серверу.

    Как PHP работает с сервером
    Простая схема взаимодействия технологии PHP с веб-сервером
    1. Входящее соединение принимает и анализирует веб-сервер. Происходит интерпретация и формируется ответ.
    2. Как правило, результат работы PHP-интерпретатора (программы, выполняющей PHP-код) — HTML-код. На этом этапе PHP-скрипт преобразуется в статический HTML-код, который может читать браузер. В процессе работы PHP может использовать MySQL — свободную систему управления базами данных (БД). Она выполняет обмен информацией с сервером базы данных на согласованном языке (SQL). Сервер базы данных и веб-сервер образуют тандем, читающий и записывающий информацию и данные, предоставляя их посетителям сайта.
    3. БД отправляет данные PHP-скрипту, который расставляет их по нужным местам страницы или пакета данных и формирует окончательный ответ. Ответ отправляется обратно веб-серверу, который и возвращает клиенту страницу или пакет данных.

    Возможность комбинировать PHP- и HTML-код позволяет создавать динамические страницы, которые показывают каждый раз разную информацию в зависимости от полученных от пользователя данных или настроек.

    ПараметрPHPHTMLPython
    ТипЯзык программированияЯзык разметкиЯзык программирования
    ПрименениеСоздание динамических веб-сайтов и приложений, обработка данных на сервереСоздание структуры и содержания веб-страницРазработка веб-приложений, анализ данных, научные вычисления
    Дата создания1995 год1989 год1991 год
    СинтаксисПрограммный синтаксисРазметочный синтаксисПрограммный синтаксис
    Для чего нуженОбработка данных и логики на сервереОпределение структуры веб-страницыРазработка общего назначения, научные и аналитические задачи
    Базовая библиотекаВстроенные функции и классы для работы с веб-серверами, базами данных и другими задачамиОтсутствуетОбширная стандартная библиотека, включая модули для различных задач
    ПримечаниеPHP выполняет серверный код и генерирует HTML для клиентаHTML определяет структуру и контент веб-страницы, но не имеет логикиPython используется как универсальный язык программирования с множеством приложений
    Таблица сравнения PHP, HTML и Python

    Особенности синтаксиса

    Синтаксис языка берет начало из C, Java и Perl. Классический PHP-сценарий представляет собой набор выражений. Каждое из них начинается с новой строки и заканчивается точкой с запятой. Выражение — это инструкция, по которой PHP-интерпретатор выполняет одно действие, например умножает числа, выводит информацию на экран.

    Вот так выглядит самый простой сценарий, который выводит на экран строку «Hello world!»:

    <?php echo("Hello world"); ?>

    PHP-сценарий всегда начинается <?php. Так веб-серверу отправляется сигнал, что код в файле написан на языке PHP.

    Коды PHP и HTML могут встраиваться вместе в файле с расширением PHP, например в index.php. Вот тот же пример, но расположенный внутри HTML:

    <body>
    <p><?php echo("Hello world"); ?></p>
    </body>

    Фрагмент ?> сообщает серверу, где заканчивается PHP-сценарий. Если после кода в документе ничего не следует, фрагмент ?> не обязателен.

    Версии PHP и их различия

    PHP 3.0. Первая версия, напоминающая современный интерпретатор, вышла в 1997 году. Главное преимущество — возможность расширения ядра и добавления дополнительных модулей сторонними разработчиками. В версии 3.0 появилась поддержка ООП-синтаксиса. Также был усилен и сам синтаксис языка.

    PHP 4.0. Появилась в 2000 году и получила обновленный движок Zend Engine (название сложилось из имен его создателей — владельцев Zend Technologies). Значительно улучшилась производительность. Версия стала поддерживать больше серверов и HTTP-сессий. Обработка вводимой пользователем информации стала безопаснее. Были созданы несколько новых языковых конструкций.

    PHP 5.0. Вышла в 2004 году. Появлению предшествовали серия пререлизов и долгая разработка. Язык управляется обновленным ядром Zend Engine 2.0 с принципиально новой объектной моделью и прочими дополнениями.

    PHP 7.0. Вышла в 2015 году. Увеличилась производительность: появилась возможность обрабатывать больший объем трафика теми же ресурсами веб-сервера. В новой версии стало доступно указывать тип возвращаемых из функции данных, добавился контроль передаваемых типов для данных и новые операторы.

    PHP 8.0. Это последний вариант, который был выпущен в конце 2020 года. Язык получил поддержку union-типов (структур данных или значений, которые могут иметь несколько различных представлений), аннотации (атрибуты), а также компиляцию байт-кода в машинный код во время работы программы (JIT-компиляцию). Microsoft решили не поддерживать версию 8.0 для Windows, поэтому теперь эту работу проводят участники из сообщества, заинтересованные в работе PHP на операционной системе.

    Плюсы и минусы

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

    Плюсы

    • Для PHP есть множество баз данных, фреймворков и библиотек.
    • Язык бесплатный, код находится в открытом доступе.
    • Язык гибкий и предоставляет много свободы.
    • PHP совместим практически со всеми современными серверами.
    • Простой синтаксис.
    • PHP подходит новичкам, ему легко научиться и практиковать полученные знания можно почти сразу.
    • Язык имеет простую систему объектов и классов.

    Минусы

    • Для работы с PHP желательно знание HTML и CSS.
    • Из-за простоты и гибкости PHP сложно поддерживать. Написать плохой код очень легко, найти ошибку — тяжело.
    • PHP — не очень производительный язык. Его конкурент JavaScript быстрее.
    • Из-за смеси PHP и HTML на многостраничных сайтах может быть затруднительно найти необходимую часть кода.
    • В названиях функций стандартной библиотеки отсутствует четкая система: одни имеют сокращения и подчеркивания, другие — нет. Иногда в названиях функций для работы со строками встречаются обозначения str, а иногда их не бывает. 

    Для устранения недостатков PHP многие разработчики используют фреймворки, такие как Laravel, Symfony или Yii, которые предоставляют инструменты и структуру для более структурированной и безопасной разработки.

    * Принадлежит компании Meta, деятельность которой признана экстремистской в России.

    Поделиться

    Скопировано

    0 комментариев

    Комментарии