Перейти до вмісту

PHP

Матеріал з K2 ERP Wiki

];

├── src/

Namespace

<?php echo "Привіт з PHP!"; ?>

!Значення

Laravel — найпопулярніший сучасний PHP-фреймворк.; Це мова величезної частини вебу, яка продовжує розвиватися і залишається практичною для бізнесу.

→ PHP-застосунок

PHP і якість коду

Packagist — це головне сховище PHP-пакетів для Composer.; Приклад маршруту Laravel:

→ База даних
!Пояснення
<?php

echo "Hello, world!";

Змінні:

== PHP 5, PHP 7 і PHP 8 ==
 return view('welcome');
|-
|'''[[PHPStan]]'''
|Статичний аналіз коду
|-
|'''[[Psalm]]'''
|Статичний аналіз і перевірка типів
|-
|'''[[PHP-CS-Fixer]]'''
|Автоматичне форматування коду
|-
|'''[[PHP_CodeSniffer]]'''
|Перевірка стандартів коду
|-
|'''[[Rector]]'''
|Автоматичний refactoring і актуалізація коду
|-
|'''[[Composer Audit]]'''
|Перевірка вразливостей у залежностях
|}

== PHP і шаблони ==
<?php

header("Content-Type: application/json");

echo json_encode([
 "status" => "ok",

PHP і безпека

!Порівняння з PHP

Основні особливості PHP

Його популярність пояснюється тим, що: PHP часто функціонує з web-серверами: !Тип !Пояснення

nginx:

Типова схема:

Багато компонентів Symfony використовуються в інших PHP-проєктах, включно з Laravel.;</body>
== Apache і Nginx ==

== Висновок ==

PHP залишається однією з найважливіших мов веброзробки.; !Web-сервер
Браузер користувача
== Важливі акценти ==
Приклад простої JSON-відповіді:<syntaxhighlight lang="php">
== Мінімальний набір для першого PHP-проєкту ==
Приклад простої PHP-сторінки:<syntaxhighlight lang="html">
echo $user->sayHello();
PHP має змогу бути корисним у ERP і корпоративних системах для:
echo $user ["name"];
 }

Symfony часто використовують у:
== переважні аспекти PHP ==
Приклад PDO:<syntaxhighlight lang="php">
Одна з головних причин популярності PHP — '''WordPress'''.; PHP історично дуже тісно повʼязаний з HTML.;== PHP і тестування ==

* фреймворк;
* модульну архітектуру;
* ORM;
* міграції;
* тести;
* черги;
* логування;
* контроль доступів;
* документацію API;
* code review.; {| class="wikitable"

* каталог товарів;
* кошик;
* оформлення замовлення;
* оплати;
* доставка;
* промокоди;
* залишки на складі;
* особистий кабінет;
* інтеграційні функціональні можливості з CRM або ERP.; Окремо варто відзначити яка найчастіше застосовується; додатково реалізовано вебзастосунків, CMS, інтернет-магазинів, API, CRM, ERP-модулів і інших backend-систем виступає ключовою рисою створення сайтів забезпечується через '''PHP'''.; !Задача
!Рекомендація
!Інструмент
|-
|'''[[WordPress]]'''
|Найпопулярніша CMS для сайтів, блогів і магазинів
|-
|'''[[Drupal]]'''
|Потужна CMS для складних контентних і корпоративних систем
|-
|'''[[Joomla]]'''
|CMS для сайтів і порталів
|-
|'''[[Magento]]'''
|E-commerce платформа
|-
|'''[[OpenCart]]'''
|платформа для інтернет-магазинів
|}

!Параметр
public/index.php

!Пояснення

* WooCommerce;
* Magento;
* OpenCart;
* PrestaShop;
* Laravel-магазини;
* custom e-commerce.;<h1>Привіт, {{ $user->name }}</h1>

!База даних
│ ├── Service/
Сучасний PHP підтримує роботу багато можливостей, яких не було в старому PHP.;</h1>

* маршрутизацію;
* ORM Eloquent;
* міграції бази даних;
* Blade-шаблони;
* черги;
* події;
* авторизацію;
* middleware;
* тести;
* CLI Artisan;
* екосистему пакетів.; !Можливість

* встановлювати бібліотеки;
* керувати версіями пакетів;
* підключати автозавантаження класів;
* описувати залежності проєкту;
* працювати з Packagist.; |-
|'''Frontend'''
|JavaScript, TypeScript
|-
|'''AI / Data Science'''
|Python, R, Julia
|-
|'''Enterprise backend'''
|Java, C#
|-
|'''High-performance backend'''
|Go, Rust
|-
|'''Realtime-системи'''
|Node.js, Go, Elixir
|-
|'''Mobile Android'''
|Kotlin
|-
|'''Mobile iOS'''
|Swift
|-
|'''Системне програмування'''
|C, C++, Rust
|}

!реліз
Популярні інструменти:
== Обʼєктно-орієнтоване програмування в PHP ==
це популярна серверна мова програмування.; → Nginx
{| class="wikitable"

<?php

$pdo = new PDO(
 "mysql:host=localhost;dbname=test;charset=utf8mb4",
 "user",
 "password"
);

$stmt = $pdo->query("SELECT * FROM users");

* enterprise-проєктах;
* складних backend-системах;
* довгострокових продуктах;
* проєктах, де потрібна сувора технічна архітектура;
* системах із великою кількістю інтеграцій.; |}

Symfony

→ Web-сервер

Головна ідея PHP

Основні типи даних у PHP:

Його часто використовують разом із Nginx або Apache для обробки PHP-запитів.; Приклад хешування пароля:

 "guzzlehttp/guzzle": "^7.0"
{| class="wikitable"
== PHP у бізнесі ==
!CMS
 }
|-
|'''[[MySQL]]'''
|Класичний вибір для PHP-сайтів, CMS і магазинів
|-
|'''[[MariaDB]]'''
|Популярна альтернатива MySQL
|-
|'''[[PostgreSQL]]'''
|Потужна реляційна база для складніших систем
|-
|'''[[SQLite]]'''
|Легка файлова база для малих застосунків і тестів
|-
|'''[[Redis]]'''
|Кеш, сесії, черги, тимчасові інформаційні дані
|-
|'''[[MongoDB]]'''
|Документоорієнтована база для окремих сценаріїв
|}
 return User::all();

Сервер виконує PHP-код і відправляє браузеру готовий HTML.; ├── vendor/

} !Фреймворк <!DOCTYPE html> <?php

$name = "Anna"; $age = 17;

echo "Привіт, $name! Тобі $age років.";

</syntaxhighlight>Функція:

Приклади:
== PHP у ERP та корпоративних системах ==

 <title>PHP Page</title>
<?php

$password = "secret-password";

$hash = password_hash($password, PASSWORD_DEFAULT);

if (password_verify("secret-password", $hash)) {
 echo "Пароль правильний";
}

Route::get('/users', function () {

  • HTTP-клієнти;
  • ORM;
  • фреймворки;
  • бібліотеки для PDF;
  • бібліотеки для Excel;
  • SDK для API;
  • пакети для тестування;
  • пакети для логування;
  • інтеграції з платіжними системами.; користувач системи не бачить PHP-код.; |-

| style="background:#d4edda; color:#155724; font-weight:bold;" |Ключове |PHP простий для старту

|Першу сторінку можна створити дуже оперативно.;

|-
|'''Простий старт'''
|без зайвих зусиль створити перший сайт або скрипт
|-
|'''Дуже поширений у вебі'''
|Багато сайтів, CMS і магазинів працюють на PHP
|-
|'''Дешевий хостинг'''
|PHP підтримується майже всіма хостингами
|-
|'''Велика програмний пакет'''
|Composer, Packagist, Laravel, Symfony, WordPress
|-
|'''Добрий для бізнес-сайтів'''
|Підходить для CMS, e-commerce, кабінетів і адмінпанелей
|-
|'''Сучасний ООП'''
|PHP 8.x має багато сучасних можливостей
|-
|'''Велика спільнота'''
|Багато документації, прикладів, розробників і готових рішень
|}

== PHP у e-commerce ==
!Мова
== Коли PHP  хороший вибір ==
!Компонент
|-
|'''Багато legacy-коду'''
|У світі є собою багато старих PHP-проєктів із поганою архітектурою
|-
|'''Історична непослідовність'''
|Частина старих функцій і підходів має неідеальний дизайн
|-
|'''без зайвих зусиль написати хаотичний код'''
|Без фреймворку й архітектури проєкт оперативно стає складним
|-
|'''Не найкращий для realtime'''
|Для деяких realtime-сценаріїв частіше використовують Node.js, Go або Elixir
|-
|'''Не ключовий вибір для AI'''
|Для AI та Data Science частіше використовують Python
|-
|'''Потрібно стежити за версіями'''
|Старі PHP-версії оперативно стають ризиком безпеки
|}

!Пояснення
 "php": "^8.2",
!Навіщо потрібна
composer require guzzlehttp/guzzle
 "cancelled" => "Скасовано",
|-
|'''PHP 5'''
|Стара епоха PHP, багато legacy-проєктів
|-
|'''PHP 7'''
|Великий стрибок продуктивності й покращення мови
|-
|'''PHP 8'''
|Сучасна гілка з JIT, attributes, union types, enum, readonly, fibers, property hooks та іншими можливостями
|}

<html>
!Правило
!Напрям
Приклад простого <code>Dockerfile</code>:<syntaxhighlight lang="dockerfile">
 ├── Controller/
|-
|'''Typed properties'''
|Типізація властивостей класу
|-
|'''Union types'''
|Один із кількох можливих типів
|-
|'''Attributes'''
|Метадані для класів, методів і властивостей
|-
|'''Enums'''
|Обмежений набір значень
|-
|'''Readonly properties'''
|Захист від зміни після ініціалізації
|-
|'''Constructor property promotion'''
|Коротший запис властивостей у конструкторі
|-
|'''Match expression'''
|Зручніша альтернатива switch
|-
|'''Fibers'''
|Низькорівнева основа для cooperative multitasking
|}
PHP дуже важливий у CMS-екосистемі.; |-
|'''Велика програмний пакет'''
|є собою Composer, Packagist, Laravel, Symfony, WordPress та інші інструменти.; На продуктивність впливають:

PHP-FPM — це FastCGI Process Manager для PHP.;

PHP — це мова, яка багато років тримає значну частину вебу: від простих сайтів до великих CMS, магазинів і бізнес-систем.

Symfony — потужний PHP-фреймворк і набір компонентів для великих застосунків.; {| class="wikitable" !Етап

Пояснення
build: .; !Значення

COPY .;== Для чого застосовується PHP == Для великих ERP-проєктів істотно використовувати:

</syntaxhighlight>Приклад сервісів:
Типові задачі:
|-
|'''[[PHPUnit]]'''
|Unit та integration тести
|-
|'''[[Pest]]'''
|Сучасний тестовий фреймворк із простим синтаксисом
|-
|'''[[Behat]]'''
|BDD-тестування
|-
|'''[[Codeception]]'''
|Functional, acceptance і API-тести
|}
PHP має стару репутацію, але сучасний PHP 8.x — це вже значно сильніша, швидша й більш структурована мова, ніж PHP минулих років.;<blockquote>'''PHP — це не мова минулого.; |-
|'''Простий старт'''
|без зайвих зусиль створити першу сторінку або скрипт.; {| class="wikitable"

{| class="wikitable sortable"
<?php

use PHPUnit\Framework\TestCase;

class MathTest extends TestCase
{
 public function testAdd(): void
 {
 $this->assertEquals(5, 2 + 3);

 "require": {
Приклад composer.json:
 PHP-скрипт
Популярні шаблонізатори:
PHP створювався як проста мова для генерації HTML-сторінок на сервері.; {| class="wikitable"
Приклад API route:
== Коротко ==
 "psr-4": {
│ ├── Repository/
PHP має інструменти для автоматичного тестування.; '''Composer''' — це центральний менеджер залежностей у PHP.;<blockquote>'''Якщо потрібно зробити сайт, CMS, інтернет-магазин, кабінет клієнта, адмінпанель або backend на Laravel — PHP досі є собою дуже практичним вибором.'''</blockquote>
Браузер
<body>
|-
|'''[[Laravel]]'''
|Web / Backend
|Сучасні web-застосунки, API, SaaS, адмінпанелі, бізнес-системи
|-
|'''[[Symfony]]'''
|Enterprise / Components
|Великі системи, reusable components, складні backend-проєкти
|-
|'''[[Yii]]'''
|Web
|Швидка розробка програмного забезпечення web-застосунків
|-
|'''[[CodeIgniter]]'''
|Web
|Легкі web-проєкти, прості сайти й застосунки
|-
|'''[[Slim]]'''
|Microframework
|Невеликі API й мікросервіси
|-
|'''[[Laminas]]'''
|Enterprise
|Корпоративні PHP-застосунки
|}

PHP добре функціонує з базами даних.; default => "Невідомо",
<?php

class User
{
 public function __construct(
 public string $name,
 public string $email
 ) {
 }

 public function sayHello(): string
 {
 return "Привіт, я {$this->name}";
 PHP-FPM
 volumes:
Через Packagist можна встановлювати:

print_r($users);
echo $message;
Класична схема роботи PHP виглядає так:
!Приклад
|-
| style="background:#d4edda; color:#155724; font-weight:bold;" |Ключове
|'''PHP дуже поширений у вебі'''
|На PHP працюють WordPress, Drupal, Joomla, Laravel-проєкти та велика кількість сайтів.; !Статус
'''WordPress''' — це CMS, написана на PHP.;<blockquote>'''Якщо у світі існує багато сайтів на WordPress, то PHP автономно залишається важливою мовою вебу.'''</blockquote>
== Composer ==

│ └── index.php
У Laravel API зазвичай створюють через controllers, routes і resources.; |-
інтеграційні функціональні можливості з HTML - Ключове Сучасний PHP сильно відрізняється від старого PHP PHP 8.x має типізацію, атрибути, enum, сучасний ООП-підхід, покращену продуктивність.;== PHP у порівнянні з іншими мовами == Що вивчати

Джерела

Теза

Структура PHP-проєкту

  • SQL Injection;
  • XSS;
  • CSRF;
  • небезпечне завантаження файлів;
  • слабка авторизація;
  • витік сесій;
  • неправильна робота з паролями;
  • небезпечні залежності;
  • неправильні права на файли.; },

PHP-проєкти мають типові web-ризики:

</syntaxhighlight>У сучасних PHP-проєктах зазвичай вхідною точкою є собою файл:
Приклад простої структури сучасного PHP-проєкту:<syntaxhighlight lang="text">
== PHP і бази даних ==
== PHP і HTML ==

!Як застосовується PHP
<?php

$languages = ["PHP", "JavaScript", "Python", "Java"];

foreach ($languages as $language) {
 echo $language . PHP_EOL;
}
Асоціативний масив:
!Особливість
{| class="wikitable"
}
<head>
|-
|'''Серверна мова'''
|PHP-код виконується на сервері, а користувач системи отримує результат.; |-
|'''Динамічна типізація'''
|PHP має змогу автономно визначати типи значень.;<?php

namespace App\Service;

class UserService
{
 public function createUser(): void
 {
 // логіка створення користувача
 }
}

PHP сильно змінився за останні роки.; Він отримує вже готовий HTML, JSON або іншу відповідь.;</syntaxhighlight>

Для чого
Apache Класичний варіант, часто з mod_php або PHP-FPM
Nginx Часто застосовується з PHP-FPM
Caddy Сучасний web-сервер із автоматичним HTTPS

!Чи підходить PHP?; |- |супровід типів |Сучасний PHP надає можливість явно вказувати типи параметрів, властивостей і результатів.; |- | style="background:#d4edda; color:#155724; font-weight:bold;" |Ключове |Laravel зробив PHP дуже сильним для сучасного backend |Laravel дав зручну архітектуру, ORM, міграції, черги, тести й екосистему.; |- | style="background:#f8d7da; color:#721c24; font-weight:bold;" |Увага |Поганий PHP-код дуже без зайвих зусиль написати |Без архітектури, фреймворку, типів і тестів PHP-проєкт оперативно перетворюється на хаос.;== Недоліки PHP == !Для чого </syntaxhighlight> |- |Сайти |Генерація HTML-сторінок на сервері |Корпоративні сайти, блоги, landing pages |- |CMS |Керування контентом |WordPress, Drupal, Joomla |- |Інтернет-магазини |Каталоги, кошики, замовлення, оплати |WooCommerce, Magento, OpenCart |- |Backend API |REST API, JSON-відповіді, бізнес-логіка |Laravel API, Symfony API |- |CRM |Клієнти, угоди, задачі, комунікації |Власні CRM-системи |- |ERP |обліковий облік, документи, складський облік, фінансовий блок, процеси |Внутрішні бізнес-системи |- |SaaS |Онлайн-сервіси для бізнесу |Кабінети клієнтів, адмінпанелі, billing |- |автоматизація процесів |Скрипти, інтеграції, cron-задачі |Обмін із API, імпорт/експорт даних |}

PHP створив Расмус Лердорф у 1995 році як набір інструментів для власної домашньої сторінки.;== Рекомендований шлях навчання PHP == !Якщо потрібно

PHP і WordPress

<?php $user = [ "name" => "Anna",
<?php $status = "paid"; $message = match ($status) { "draft" => "Чернетка", PHP часто застосовується для створення REST API.; Встановлення пакета:
{| class="wikitable"
}

├── public/
Назва PHP історично розшифровувалась як '''Personal Home Page''', але зараз офіційно застосовується рекурсивне значення '''PHP: Hypertext Preprocessor'''.; |-
|'''JavaScript'''
|JavaScript центральний для frontend; PHP сильний у server-side web
|-
|'''TypeScript'''
|TypeScript сильний у великих web-інтерфейсах; PHP сильний у CMS і backend-сайтах
|-
|'''Python'''
|Python сильніший в AI й automation; PHP сильніший у класичному web і CMS
|-
|'''Java'''
|Java частіше для enterprise backend; PHP простіший для web-сайтів і швидкого старту
|-
|'''C#'''
|C# сильний у .NET і enterprise; PHP часто простіший для web-хостингу й CMS
|-
|'''Go'''
|Go продуктивніший для мікросервісів; PHP має сильну web-екосистему
|}

services:
]);
!Як застосовується з PHP
Приклад enum:<syntaxhighlight lang="php">
|-
|1
|HTML і базовий CSS
|-
|2
|Основи PHP: змінні, умови, цикли, функції
|-
|3
|Масиви, форми, GET і POST
|-
|4
|Робота з файлами
|-
|5
|PDO і база даних MySQL або PostgreSQL
|-
|6
|ООП: класи, обʼєкти, інтерфейси, namespace
|-
|7
|Composer і автозавантаження
|-
|8
|Laravel або Symfony
|-
|9
|REST API, JSON, авторизація
|-
|10
|Тестування через PHPUnit або Pest
|-
|11
|Docker, PHP-FPM, Nginx
|-
|12
|Безпека, кешування, черги, CI/CD
|}

 }
<?php

enum OrderStatus: string
{
 case Draft = "draft";
 case Paid = "paid";
 case Cancelled = "cancelled";
}
Приклад match:
PHP часто обирають для бізнесу, коли потрібно:
 - "8080:80"
|-
|'''реліз PHP'''
|PHP 8.2 або новіша підтримувана реліз
|-
|'''Редактор'''
|VS Code або PhpStorm
|-
|'''Менеджер залежностей'''
|Composer
|-
|'''База даних'''
|MySQL, MariaDB або PostgreSQL
|-
|'''Web-сервер'''
|Nginx або Apache
|-
|'''Фреймворк'''
|Laravel для більшості сучасних web-проєктів
|-
|'''Тестування'''
|PHPUnit або Pest
|-
|'''Контроль версій'''
|Git
|-
|'''Форматування'''
|PHP-CS-Fixer або Laravel Pint
|}

== PHP і Docker ==

</syntaxhighlight> → HTML-відповідь

PHP має змогу використовуватися для:

  • сайти;
  • CMS;
  • WordPress;
  • інтернет-магазини;
  • Laravel-застосунки;
  • backend API;
  • адмінпанелі;
  • web-орієнтовані бізнес-системи;
  • інтеграції;
  • швидкий запуск web-проєкту.;</html>
характеристика

Сучасний PHP активно використовує обʼєктно-орієнтований підхід.; ports:

PHP — одна з найважливіших мов веброзробки.; !Інструмент

"paid" => "Оплачено",
Використовувати prepared statements Захист від SQL Injection
Екранувати HTML Захист від XSS
Використовувати CSRF-токени Захист форм від підроблених запитів
Не зберігати паролі відкритим текстом Потрібно використовувати password_hash
Оновлювати PHP і залежності Старі версії можуть містити вразливості
Не зберігати секрети в коді Ключі мають бути в environment variables

PHP і API

<?php

function add(int $a, int $b): int {

return $a + $b;

}

echo add(5, 7);

</syntaxhighlight>Масив:
== Популярність PHP ==
Laravel дає:

<blockquote>'''PHP добре підходить для web-орієнтованих бізнес-систем, особливо якщо потрібна швидка розробка програмного забезпечення й багато готових компонентів.'''</blockquote>

* реліз PHP;
* OPcache;
* якість SQL-запитів;
* кешування;
* індекси в базі даних;
* технічна архітектура застосунку;
* черги;
* асинхронна обробка;
* web-сервер;
* конфігурація PHP-FPM;
* кількість залежностей.;== PHP і CMS ==
 "role" => "student"
== Packagist ==
Приклад Blade:<syntaxhighlight lang="html">
PHP став особливо важливим для розвитку динамічного вебу, CMS і блогів.; "autoload": {
{| class="wikitable"
 └── Entity/
{| class="wikitable"
== Альтернативи PHP ==
!Перевага

Вона сильна там, де потрібні:
== PHP-FPM ==

!Для чого застосовується
{| class="wikitable"
{
{| class="wikitable"
|-
|Корпоративний сайт
| style="background:#d4edda; color:#155724; font-weight:bold;" |Добре
|-
|WordPress-сайт
| style="background:#d4edda; color:#155724; font-weight:bold;" |Найкращий вибір
|-
|Інтернет-магазин
| style="background:#d4edda; color:#155724; font-weight:bold;" |Добре
|-
|Laravel backend
| style="background:#d4edda; color:#155724; font-weight:bold;" |Дуже добре
|-
|CRM / ERP web-модулі
| style="background:#d4edda; color:#155724; font-weight:bold;" |Добре
|-
|REST API
| style="background:#d4edda; color:#155724; font-weight:bold;" |Добре
|-
|SaaS
| style="background:#d4edda; color:#155724; font-weight:bold;" |Добре
|-
|Realtime chat
| style="background:#fff3cd; color:#856404; font-weight:bold;" |Можливо, але не ключовий вибір
|-
|AI / Machine Learning
| style="background:#fff3cd; color:#856404; font-weight:bold;" |Не ключовий вибір
|-
|Системне програмування
| style="background:#f8d7da; color:#721c24; font-weight:bold;" |Не підходить
|}

Route::get('/', function () {

  • оперативно запустити сайт;
  • зробити інтернет-магазин;
  • підтримувати WordPress;
  • розробити Laravel-застосунок;
  • створити API;
  • зробити адмінпанель;
  • інтегрувати сайт з CRM або ERP;
  • зробити кабінет клієнта;
  • автоматизувати документи;
  • обробляти заявки;
  • створити billing або SaaS.;

    PHP — це мова, яка створює сторінку або відповідь на сервері, а браузер отримує вже результат.

├── composer.json

Типи даних

→ HTTP-запит

}

PHP у бізнес-системах

└── README.md

Як застосовується з PHP

З часом PHP перетворився на повноцінну серверну мову програмування, яка стала дуже популярною завдяки наявності простоті розгортання, дешевому хостингу та прямій інтеграції з HTML.; /app

</syntaxhighlight>

Популярні PHP-фреймворки

image: nginx:latest

завдяки наявності Namespace користувачі можуть організовувати класи й уникати конфліктів назв.; |-

Назва PHP
Повна назва PHP: Hypertext Preprocessor
Тип Серверна скриптова мова програмування
Автор Расмус Лердорф
Перший реліз 1995 рік
Основні сфери Web backend, CMS, e-commerce, API, CRM, ERP, SaaS
Актуальна основна гілка станом на 2026 рік PHP 8.5
Популярні фреймворки Laravel, Symfony, Yii, CodeIgniter, Slim
Популярні CMS WordPress, Drupal, Joomla
Складність для новачків Низька або середня
офіційно затверджений сайт https://www.php.net/

Сучасний PHP значно продуктивніший, ніж старі версії.; "message" => "Hello from PHP API"

Історичний розвиток

  • web-інтерфейсів;
  • кабінетів користувача;
  • API;
  • інтеграцій;
  • звітів;
  • документообігу;
  • адмінпанелей;
  • модулів для клієнтського доступу;
  • обміну з сайтами й маркетплейсами.; !Альтернативи
Приклад класу:
* PHP давно існує;
* його без зайвих зусиль розгорнути на хостингу;
* на PHP функціонує WordPress;
* є собою багато готових CMS і фреймворків;
* PHP добре підходить для сайтів, магазинів, кабінетів і бізнес-систем;
* навколо PHP існує велика кількість розробників, документації й готових рішень.; Вона застосовується для створення:
PHP  це мова для серверної частини вебу.; |-
|'''Обʼєктно-орієнтоване програмування'''
|PHP підтримує роботу класи, інтерфейси, трейти, enum, namespace.; $user = new User("Anna", "anna@example.com");
FROM php:8.4-fpm

});

* блогів;
* корпоративних сайтів;
* медіа-сайтів;
* інтернет-магазинів;
* landing pages;
* сайтів послуг;
* особистих сайтів;
* контентних платформ.;

Сучасні функціональні можливості PHP

Пояснення
php:
Приклад PHPUnit-тесту:
== Приклад коду ==

{| class="wikitable"
Тобто PHP функціонує переважно на сервері.; };

Найпростіша програма:<syntaxhighlight lang="php"> project/

"age" => 17,
  • Blade у Laravel;
  • Twig у Symfony;
  • Smarty у старих або legacy-проєктах.; });

Laravel

  • CRM;
  • ERP-модулів;
  • адмінпанелей;
  • кабінетів клієнта;
  • внутрішніх порталів;
  • документообігу;
  • інтеграцій з банками;
  • інтеграцій з платіжними системами;
  • інтеграцій з РРО;
  • звітів;
  • автоматизації бізнес-процесів.; PHP часто застосовується для інтернет-магазинів.; |}
- .:/app
Недолік

├── tests/ → Браузер показує сторінку $users = $stmt->fetchAll(PDO::FETCH_ASSOC);

int 10 Ціле число
float 3.14 Дробове число
string "Hello" Рядок тексту
bool true, false Логічне значення
array [1, 2, 3] Масив
object new User() Обʼєкт
null null Відсутність значення
resource Файл, зʼєднання Спеціальний ресурс
Приклади
"App\\": "src/"

├── composer.lock

Напрям

Простими словами

</head>

PHP часто запускають у Docker.; |-

істотно PHP часто має погану репутацію через старий код Багато критики PHP повʼязано зі старими підходами, а не з сучасною мовою.; WORKDIR /app

PHP і продуктивність

Він надає можливість: PHP має змогу генерувати HTML напряму, але у фреймворках часто використовують шаблонізатори.; * офіційно затверджений сайт PHP: https://www.php.net/