|
@@ -0,0 +1,52 @@
|
|
|
+# Язык 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.**
|
|
|
+
|
|
|
+* Объектно-ориентированный язык. Объекты — сущности, у которых есть данные и методы для работы с ними. Например, у объекта «книга» в библиотеке может быть название, автор и жанр, а также методы для вывода информации о ней. Данные объекта скрыты и доступны только через его методы. Это помогает обеспечить безопасность данных и уменьшить связанность между различными частями программы.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+* Возможность интерпретации. РНР можно сразу запустить на большинстве платформ и операционных систем, не устанавливая отдельный компилятор, который запустит код. Это делает язык более доступным и простым для начинающих разработчиков. Недостатки: код обрабатывается на сервере построчно, затем результаты отправляются пользователю. Каждый раз, когда пользователь запрашивает страницу, сервер обрабатывает PHP-код заново. Это замедляет загрузку, особенно если код сложный. Но если его оптимизировать и настроить сервер, можно сделать сайт более быстрым.
|
|
|
+
|
|
|
+* Динамическая типизация. Переменные в PHP могут автоматически менять свой тип данных в процессе выполнения программы, в зависимости от того, какие данные им присваиваются. Представим, что переменная $x сначала содержит число, а потом текст:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+С одной стороны, это удобно: не нужно явно указывать тип переменной при её объявлении и можно использовать одну и ту же переменную для различных типов данных в разное время. Но динамическая типизация может привести к ошибкам в коде. Например, если ожидается, что $x всегда будет числом, но он становится строкой. Это может вызвать ошибку или нестандартное поведение программы.
|
|
|
+
|