1
0

Borisenko.md 8.6 KB

Язык PHP.

PHP — серверный язык программирования, он отвечает за **бэкенд** — часть продукта, которую не видит пользователь. Например, когда покупатель нажимает кнопку «Оформить заказ», появляется сообщение, что оплата прошла и заказ начали собирать. Для этого сайт отправляет запросы разным сервисам: базе данных — она подтвердит наличие информации о пользователе, платёжным шлюзам — они вернут от банка ответ об оплате, сервису логистики — он сообщит, что товар есть на складе. Эта невидимая для пользователя работа может быть реализована с помощью кода, написанного на PHP.

PHP в проектах отвечает за:

● Лендинги и блоги. Позволяет создавать контент и управлять им: публиковать и редактировать статьи, изображения и комментарии;
● Интернет-магазины, онлайн-платформы для продажи товаров и услуг. РНР позволяет сделать так, чтобы можно было добавлять товары в корзину, оформлять заказы и обрабатывать платежи;
● Социальные сети. РНР отвечает за авторизацию, обмен сообщениями, создание профилей и управление контентом пользователей;
● Веб-приложения. Например, для CRM-системы с помощью PHP можно создать виджет для добавления контакта пользователя;
● Системы управления контентом. Например, на PHP написана платформа Wordpress. 

**Возможности PHP.**

Чаще всего PHP используют для написания скриптов, которые работают на стороне сервера. Это позволяет обрабатывать данные форм, которые заполняет посетитель сайта, отсылать и принимать cookies и т. д. Рассмотрим возможности языка:

● Интеграция с базами данных. PHP совместим с большинством современных баз данных.
● Разработка систем управления контентом. C помощью них можно добавлять и обновлять содержимое сайта без помощи разработчиков. PHP используют, чтобы расширять функциональность систем. 
● Создание изображений в форматах GIF, JPEG или PNG с помощью специальной библиотеки — GD. 
● Работа с FTP-серверами — приложениями, которые позволяют хранить и передавать файлы. С помощью PHP можно отправить изображения на сервер, загрузить обновлённый файл на сайт, удалить и переименовать его. С помощью PHP можно также изменить права доступа к учётным данным и этим обеспечить их безопасность.
● Работа с cookie — файлами, которые собирают данные пользователей: количество посещений, переходы между страницами и т. д. Их часто используют маркетологи, чтобы идентифицировать посетителей сайта и создавать для них персонализированные предложения товаров и услуг. С помощью PHP можно легко считать cookie-файл из браузера.

**Достоинства и недостатки.**

Достоинства: 

● Простой, легко освоить даже новичку. 

● Много готовых фреймворков и библиотек — мало что придётся писать вручную.

● Не нужны мощные сервера. ПО на PHP может работать на самом дешёвом оборудовании.

● У языка PHP самый низкий показатель количества времени от начала разработки до выхода на рынок. Для бизнеса это выгодное решение.

Недостатки: 

● Не поддерживает многопоточность и асинхронность, когда приложение обрабатывает одновременно несколько процессов. Например, проигрывает анимацию и обрабатывает данные, которые ввёл пользователь.

● Достаточно уязвимый, поэтому, например, в банковской сфере его использовать не принято. 

**Свойства языка PHP.**

1.  Объектно-ориентированный язык. Объекты — сущности, у которых есть данные и методы для работы с ними. Например, у объекта «книга» в библиотеке может быть название, автор и жанр, а также методы для вывода информации о ней. Данные объекта скрыты и доступны только через его методы. Это помогает обеспечить безопасность данных и уменьшить связанность между различными частями программы. 

![Image](methodbook.png "")
  1. Возможность интерпретации. РНР можно сразу запустить на большинстве платформ и операционных систем, не устанавливая отдельный компилятор, который запустит код. Это делает язык более доступным и простым для начинающих разработчиков. Недостатки: код обрабатывается на сервере построчно, затем результаты отправляются пользователю. Каждый раз, когда пользователь запрашивает страницу, сервер обрабатывает PHP-код заново. Это замедляет загрузку, особенно если код сложный. Но если его оптимизировать и настроить сервер, можно сделать сайт более быстрым.

    1. Динамическая типизация. Переменные в PHP могут автоматически менять свой тип данных в процессе выполнения программы, в зависимости от того, какие данные им присваиваются. Представим, что переменная $x сначала содержит число, а потом текст:

    Image

    С одной стороны, это удобно: не нужно явно указывать тип переменной при её объявлении и можно использовать одну и ту же переменную для различных типов данных в разное время. Но динамическая типизация может привести к ошибкам в коде. Например, если ожидается, что $x всегда будет числом, но он становится строкой. Это может вызвать ошибку или нестандартное поведение программы.