PHP належить до інтерпретованих мов: вона виконує код, який ми пишемо, напряму.
Файли з кодом PHP - це текстові файли, які містять відкривальний тег PHP <?php, що позначає початок коду PHP.
Якщо файл містить лише код PHP, можна пропустити закривальний тег ?> , який позначає кінець коду PHP.
Дізнайтеся більше про тег PHP у документації про тег PHP.
<?php
// All PHP code goes here
// No closing tag required at the end
Для зручнішого читання всі приклади коду пропускають відкривальний тег PHP <?php.
Але в усіх вправах з PHP він уже є, тож нам не потрібно додавати його самостійно.
Усі інструкції, як-от присвоєння чи виклики функцій, мають завершуватися символом ; для розділення інструкцій.
Пропускати ; (як у JavaScript) не можна: це призводить до синтаксичних помилок.
Дізнайтеся більше про розділення інструкцій з документації PHP.
$message = "Success!"; // Statement correctly ends with `;`
$message = "I know JavaScript." // PHP Parse error: syntax error, [...]
PHP належить до динамічно типізованих мов програмування.
Типи значень перевіряються лише під час виконання програми.
За допомогою оператора присвоєння = будь-який тип значення можна присвоїти будь-якій назві змінної.
Назви змінних мають починатися зі знака долара $.
Щоб глибше зануритися у змінні, перегляньте документацію про змінні PHP.
$count = 1; // Assign an integer value of 1
$count = 2; // Re-assign a new value to the variable
$count = false; // You may assign any value type
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
Функціям можна передавати літеральні значення та значення, збережені у змінних. Коли ми визначаємо параметри функції, створюються нові змінні, які зберігають передані значення.
// Declare the window_width function
function window_width($width)
{
echo $width; // Access the value passed into the function as $width
// ...
}
window_width(100); // Call the function with the literal value 100
$newWidth = 100;
window_width($newWidth); // Call the function with the value stored in $newWidth
Функції можуть повертати значення за допомогою ключового слова return.
Значення, які повертаються, можуть бути літералами, зберігатися у змінних або бути результатом інструкції.
function window_height()
{
$heightOffset = 10;
return 100 + $heightOffset;
}
Функції всередині класів та їхніх екземплярів називаються методами.
Щоб викликати метод, перед його назвою ставлять екземпляр і ->.
Екземпляр класу створюється операцією new.
Методи мають доступ до спеціальної змінної $this, яка вказує на поточний екземпляр.
<?php
// Calculator.php
class Calculator {
// ...
public function sub($x, $y)
{
return $this->add($x, -$y); // Calls the method add() of the current instance
}
public function add($x, $y)
{
return $x + $y;
}
}
$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2
Глибше у функції та класи ми зануримося в наступних вправах.
Як базова форма налагодження, виведення значень і вмісту змінних допомагає зрозуміти, що відбувається. PHP може виводити значення за допомогою:
echo $variable; щоб вивести текстове подання значенняprint $variable;, що те саме, що й echo $variable;
var_dump($variable); щоб краще зрозуміти значення, наприклад тип, який бачить PHPКоли ми використовуємо echo або print: порожні рядки тексту (англ. string), false та null не відобразяться.
А класи й екземпляри спричинять помилку.
Щоб побачити їх, скористайтеся var_dump().
В онлайн-редакторі те, що ми виводимо, показується разом із результатами тестів. Коли ми користуємося CLI, виведені дані зʼявляються разом з індикатором поступу перед підсумком тестів.
У PHP та багатьох інших мовах базовою одиницею організації коду є файл. Щоб показати назву файлу, який слід переглянути, у блоці коду ми використовуємо коментар. Нам ніколи не потрібно додавати такі коментарі до своїх файлів:
<?php
// NameOfPhpFile.php
[...]
Код, функції та класи можуть усі міститися в одному файлі. Але зазвичай такі одиниці коду розміщують в окремих файлах.
Зазвичай один клас розміщують в окремому файлі, назва якого збігається з назвою класу.
<?php
// Calculator.php
class Calculator {
// ...
function add($x, $y)
{
return $x + $y;
}
}
Функції зазвичай групують в одному файлі, що описує їхню спільну тему.
<?php
// window_handling.php
function window_paint()
{
// ...
}
function window_size($width, $height)
{
// ...
}
function window_move($x, $y)
{
// ...
}
А ще часто є файли з інструкціями для безпосереднього виконання, як-от index.php, який зазвичай використовують як точку входу вебзастосунку.
<?php
// index.php
$sum = add(1, 2);
// ...
Усі назви класів мають бути в стилі PascalCase.
Залежно від стандарту стилю назви змінних, функцій і методів можуть бути в стилі camelCase або snake_case.
Назви можуть містити літери a-zA-Z, цифри 0-9 та підкреслення _, але не можуть починатися з цифри.
Однорядкові коментарі починаються з //, а блок тексту можна огорнути /* та */, щоб зробити багаторядковий коментар.
// Single-line comment
/*
Multi-line comment
*/