Щоб дізнатися більше про ці теми, перегляньте сторінку концепції.
Відкривальний тег PHP <?php позначає початок коду PHP.
Усі інструкції мають закінчуватися символом ; для розділення інструкцій.
<?php
$message = "Success!"; // Statement correctly ends with `;`
$message = "I fail." // PHP Parse error: syntax error, [...]
Для зручності читання в усіх прикладах коду відкривальний тег <?php опущено.
Однорядкові коментарі починаються з //.
// Single line comment
За допомогою оператора присвоєння = значення можна присвоїти змінній.
Назви змінних мають починатися зі знака долара $ і відповідати правилам іменування.
$count = 1; // Assign value of 1
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
Значення та змінні можна передавати функціям.
Аргументи функції стають новими змінними, які зберігають передані значення.
Функції можуть повертати будь-яке значення за допомогою ключового слова return.
function window_height($height)
{
return $height + 10;
}
window_height(100);
// => 110
Функції всередині класів та їхніх екземплярів називаються методами.
Щоб викликати метод, перед його назвою ставлять екземпляр і ->.
Методи мають доступ до спеціальної змінної $this, яка вказує на поточний екземпляр.
<?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
У цій вправі ми напишемо трохи коду, який допоможе приготувати чудову лазанью з улюбленої кулінарної книги.
На нас чекають пʼять завдань, і всі вони повʼязані з часом приготування лазаньї.
Реалізуйте функцію expectedCookTime у класі Lasagna, яка не приймає аргументів і повертає, скільки хвилин лазанья має провести в духовці.
Згідно з кулінарною книгою, очікуваний час приготування в духовці становить 40 хвилин:
<?php
$timer = new Lasagna();
$timer->expectedCookTime()
// => 40
Реалізуйте функцію remainingCookTime у класі Lasagna, яка приймає як аргумент фактичну кількість хвилин, які лазанья вже провела в духовці, і повертає, скільки хвилин їй ще залишилося там бути, виходячи з очікуваного часу приготування в духовці з попереднього завдання.
<?php
$timer = new Lasagna();
$timer->remainingCookTime(30)
// => 10
Реалізуйте функцію totalPreparationTime у класі Lasagna, яка приймає як аргумент кількість шарів, які ми додали до лазаньї, і повертає, скільки хвилин ми витратили на її підготовку, якщо на кожен шар іде 2 хвилини.
<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6
Реалізуйте функцію totalElapsedTime у класі Lasagna, яка приймає два аргументи: перший це кількість шарів, які ми додали до лазаньї, а другий це кількість хвилин, які лазанья вже провела в духовці.
Функція має повернути загальну кількість хвилин, витрачених на приготування лазаньї, тобто суму часу підготовки у хвилинах і часу в хвилинах, який лазанья на цей момент провела в духовці.
<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26
Реалізуйте функцію alarm у класі Lasagna, яка не приймає аргументів і повертає повідомлення про те, що лазанью вже можна їсти.
<?php
$timer = new Lasagna();
$timer->alarm()
// => "Ding!"
Зареєструйтеся на Exercism, щоб вивчати й опановувати PHP, а також 11 концепцій122 вправи та справжнє наставництво від людей, і все це безкоштовно.