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)
ред.Цілі числа (англ. 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.