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

PHP/Введення та основи

Матеріал з Вікіпідручника
< PHP

Інсталяція

[ред.]
Детальніше: Як встановити локальний веб-сервер

Для роботи PHP необхідне середовище розробки чи веб-сервер. Однак, якщо ви початківець, найпростішим буде встановити IDE, будь-яке з нижчеперерахованих.

Або див.: Как установить PHP (в картинках) (російською)

Синтаксис

[ред.]

Вирази в PHP розділяються крапкою з комою. Пробіли, переноси і табуляції не враховуються, що дає можливість форматувати код як завгодно.

В наших прикладах використовуємо оператор echo, котрий виводить всі аргументи, передані в нього (але це не функція).

Обмежувачі PHP коду

[ред.]

Код PHP можна вбудовувати безпосередньо в HTML-код сторінок, які, у свою чергу, коректно оброблюватимуться PHP-інтерпретатором. Обробник PHP просто починає виконувати код в межах спеціальних обмежувачів (тегів) — це кутні дужки зі знаком питання і назвою мови.

<?php
    phpinfo();
?>

Все що не всередині таких обмежувачів вважається HTML і передається сервером в HTTP як є.

Насправді існує чотири стилі php обмежувачів. PHP інтерпретатор не завжди їх усіх може розрізняти. Все залежить від налаштувань у файлі php.ini. Тож ось список php обмежувачів, які ви можете зустріти у коді php скриптів:

  • XML- стиль (найбільш бажаний і підтримується серверами по замовчуванню):
<?php  echo '<p> Привіт Світ!</p>';  ?>
  • Скорочений стиль (не завжди доступний, необхідно включити змінну short_open_tags у файлі конфігурації):
<?  echo '<p> Привіт Світ!</p>';  ?>
Застарілі
SCRIPT-стиль ASP-стиль (необхідно включити змінну asp_tags):
<script language='php'>  echo '<p> Привіт Світ!</p>'; </script>
<% echo '<p> Привіт Світ!</</p>'; %>

Коментування

[ред.]

Коментарі — Ваші записи відносно виразів, які інтерпритатор ігнорує. Їх треба писати, щоб при складних виразах пам'ятати, що робите.

//Однорядковий коментар;
# Інший однорядковий коментар;
/* Так позначається 
багаторядковий
коментар */

Cлідкуйте за відсутністю вкладеності в коментарях, адже це може викликати помилки:

/* Такий 
echo "Тест"; /*запис*/ 
не спрацює */

Типи даних

[ред.]

PHP підтримує такі прості типи даних:

Скалярні
    • integer (цілі числа)
    • float (числа з плаваючою точкою, 'double' або ‘real’)
    • string (рядки)
    • boolean (двійкові дані)
Змішані
    • array (масиви)
    • object (об'єкти)
Спеціальні
    • resource (ресурси)
    • NULL ("порожні")
Псевдотипи
    • mixed (змішані)
    • number (числа)
    • callback (зворотного виклику).

Розглянемо їх детальніше.

Числа (integer і float)

[ред.]

Цілі числа (англ. integer) — додатні, від'ємні числа та нуль. Вони можуть бути вказані у різних системах числення. Будь-яке число, що не містить крапки, буде розпізнаватись системою, як ціле апріорі.

$a = 0x17; // число в шістнадцятковій системі (еквівалентно 23 в десятковій)
$a = 04444; // в вісімковій (еквівалентно 2340)

Тип даних з дробовою частиною числа називається дійсними числами, або числа з плаваючою точкою (англ. float), проте їх також ще називають double чи real. Вони надають досить велику точність для більшості математичних обчислень.

Рядок (string)

[ред.]

Рядки записуються в одинарних ( ' ) чи в подвійних ( " ) лапках, а також спеціальним синтаксисом heredoc та nowdoc. Різниця у використанні лапок в тому, що в подвійних лапках PHP читає спецсимволи і оброблює змінні. Наприклад:

Код
<?php $name = "Саша";
echo 'Привіт, $name!\nЯк справи?'; // Одинарні лапки, виводить символи, як є.
echo "Привіт, $name!\nЯк справи?"; // Подвійні лапки, опрацьовує символи і змінні.
Результат


Привіт, $name!\nЯк справи?
Привіт, Саша!
Як справи?


Heredoc і nowdoc

[ред.]

Ще існують такі способи визначення рядків, як heredoc та nowdoc-синтаксис. Вони є аналогом тегу <pre> в HTML, тобто вони зберігають всі символи форматування, такі як табуляції, пробіли, і переноси рядків.

Різниця heredoc і nowdoc в тому, що ідентифікатор в nowdoc пишеться в одинарних лапках і по суті працює, як звичайні одинарні лапки (не розрізнює спецсимволи і змінні)

Використання

Ідентифікатор завжди пишеться заголовними літерами.

Heredoc Nowdoc
<<<ІДЕНТИФІКАТОР(перенос рядка)
Форматований рядок(перенос рядка)
ІДЕНТИФІКАТОР;
<<<'ІДЕНТИФІКАТОР'(перенос рядка)
Форматований рядок(перенос рядка)
'ІДЕНТИФІКАТОР'; 

Спецсимволи

[ред.]

Екранування (знаком оберненої косої риски \) працює в одинарних і подвійних лапках. Саме таким чином можливо виводити зарезервовані символи (лапки, знак долара):

echo 'Привіт, \'світ\''; // Виведе: Привіт, 'світ'
echo "Ціна - $price \$"; // Виведе: Ціна - 100 $

Нижче представлені спецсимволи (керуючі послідовності), що розрізняє PHP в подвійних лапках чи heredoc-синтаксисом.

Послідовність Значення
\n новий рядок
\r повернення каретки
\t горизонтальна табуляція
\v вертикальний таб
\e escape-знак
\f подача сторінки
\\ знак оберненої косої риски

Завдяки цьому можна складати регулярні вирази в різних системах числення (приклад регулярного виразу символу Unicode \u{[0-9A-Fa-f]+}). Про екранування змінних дивіться в наступному розділі.

Булів тип (boolean)

[ред.]

Логічний або булевий тип — тип даних, що може приймати тільки два значення: true чи false (так чи ні). Цей тип може бути результатом виконання функції, тому уважно читайте документацію до неї про те, що вона повертає. В операціях PHP приводить значення true як 1, а false як 0. До значення false також відноситься число 0, пустий рядок ("") і рядок з нулем ("0"). Все відмінне є true.


без рамки
без рамки

Введення та основи