Розберемося, з чого складається будь-яка мова програмування. Як і мови, якими ми розмовляємо, мова програмування також будується з цеглинок, які і складають сукупність знань, що називається людською мовою.
У кожної мови є свої правила і конструкції, дотримуючись яких ми висловлюємо свої думки і робимо їх зрозумілими для іншої людини. У програмуванні все точно так само. Але замість людської мови ми використовуємо мову програмування PHP, а в ролі нашого співрозмовника виступає PHP-інтерпретатор. Тому, щоб висловити свою думку, ми маємо зробити її зрозумілою для інтерпретатора.
Давайте подивимось як буде виглядати найпростіший сценарій:
<?php
print("Привіт, світ");
Щоби надати нашому інтерпретатору позначення де знаходиться код, який треба інтерпретувати, ми пишемо відкриття тегу <?php
Далі ми використали функцію print яка виведе строку записану у лапках на екран. Більш детально про функції ми розберемо у відповідному розділі.
Результатом виконання нашого коду буде:
Привіт світ
Зверніть увагу що кожна операція - виклик функції, привласнення, тощо повинна обов'язково завершуватись комою з крапкою ;.
Змінні це основа будь-якої мови програмування. Під час написання коду ми постійно працюватимемо зі змінними. Зрозуміти концепцію змінних дуже просто. Змінна — це контейнер, у якому містяться дані, як і напій міститься у чашці. Будь-яку інформацію, яку ми будемо використовувати у коді, спочатку необхідно зберегти у змінній.
У змінної обов'язково має бути ім'я, тому змінна завжди складається з імені та значення. Значення – це будь-яка інформація, яка зберігається всередині змінної.
Наприклад, ми можемо попросити відвідувача сторінки вказати свій день народження, а потім використовувати це значення для інших цілей - дізнатися рік народження або показати вік на самій сторінці.
Будь-яку змінну слід спочатку оголосити, тобто дати їй ім'я та надати значення. У синтаксисі PHP ім'я змінної записується латинськими символами, але першим символом завжди має бути знак долара $, а потім іде ім'я. Не дозволяється починати ім'я змінної з цифри, а також використовувати будь-які значення, крім літер алфавіту та символу підкреслення. Приклади допустимих імен змінних:
$age
$favorite_color
$name2
Приклади неприпустимих назв:
age - забутий знак долара на початку;
$42 - починається з цифри;
$my-age містить дефіс.
Порожня змінна не буде надто корисною. Тому давайте відразу щось туди помістимо. Така дія називається операцією присвоєння. Ось як виглядає привласнення інформації до нової змінної: $favorite_color = "green";
Знак "дорівнює" в PHP є оператором і завжди означає операцію присвоювання. Тут ми записали слово "green" у змінну під іменем favorite_color. Зверніть увагу: ми взяли в лапки слово green. Лапки завжди обов'язкові, якщо йдеться про використання тексту. Але якщо у змінну поміщається не текст, а число, то лапки не потрібні. Приклад: $favorite_number = 42;
Ми навчилися зберігати інформацію у змінних. Тепер подивимося, як отримати доступ до цієї інформації у нашому сценарії. Адже коли ми намагаємося запам'ятати у своїй голові новий номер телефону, то робимо це не просто так, а щоб на нього подзвонити. Це означає, що ми запам'ятовуємо інформацію з метою повернутись до неї надалі і застосувати для якоїсь дії — здійснити дзвінок, написати повідомлення тощо.
Така логіка повністю працює у програмуванні. Зберігши інформацію якось, її можна використовувати надалі виконання різних дій. Такою дією може бути виведення інформації на екран. Перепишемо вже знайомий сценарій так, щоб у ньому використовувалися змінні.
<?php
$welcome_text = "Привіт, світ";
print($welcome_text);
Тепер цей простий сценарій складається із двох кроків. На першому ми оголошуємо (ініціалізуємо) нову змінну та поміщаємо туди текст. На другому кроці ми використовуємо цю змінну, звертаючись до неї на ім'я в контексті виклику функції виведення на екран. Тобто тепер функція print отримує не безпосередньо текст, а змінну, яка містить цей текст.
Цим страшним словом називається операція склеювання декількох рядків в один. Припустимо, у нас є дві вже знайомі змінні: $favorite_color і $favorite_number, а ми збираємося вивести їх в одному рядку, щоб отримати такий результат:
"Мій улюблений колір - зелений, а улюблене число - 42"
де значення кольору зберігається в $favoritecolor, а числа в $favoritenumber.
Щоб отримати такий рядок, необхідно використовувати оператор конкатенації - . (крапка). Як операнди він бере два рядки або змінні, що містять рядок, а потім повертає новий рядок. Виглядає це так:
<?php
$united_string = "Мій улюблений колір - " . $favorite_color . ", а улюблене число - " . $favorite_number;
print($united_string);
Вище вже згадувалося, що дані, поміщені у змінну, можуть бути рядком тексту або числом. Насправді таких типів даних набагато більше, але перший час ми працюватимемо тільки з кількома. Однак нам все одно важливо вже зараз розуміти, що таке "типи даних". Тип даних у мові програмування визначає допустимі значення, а також допустимі операції з даними цього типу. Наприклад, з даними типу "ціле число" допускається виконувати арифметичні операції, а з даними типу "рядок" - ні. Поділити рядок на рядок неможливо. Крім того, числа можуть бути тільки в певних межах (у версії PHP для 32-бітної ОС, найбільше число: 2147483647), а рядки обов'язково повинні перебувати в лапках.
Оператором у програмуванні називається щось, що приймає одне або більше значень. Наприклад, в арифметиці є такі оператори: +, -, /, *. Що означає додавання, віднімання, ділення та множення. Оператор завжди працює тільки в парі з двома значеннями, наприклад додає два числа (операнди) або множить їх одне на одне.
PHP доповнює вже знайомі нам з арифметики оператори кількома новими:
уже знайомий оператор присвоювання =, який використовується для присвоювання значення змінній;
дуже корисні оператори порівняння: ==, !=, >, < - дорівнює, не дорівнює, більший і менший;
% - оператор залишку від ділення одного числа на інше. Наприклад: 5 % 2 == 1; // true.
Іноді, залежно від умови, потрібно виконувати різні дії. Для цього використовується оператор if. Наприклад, ми запитали стать відвідувача нашої сторінки, зберегли її у змінну, а тепер хочемо вивести різне привітання, залежно від того, чоловік це чи жінка. Для цього знадобляться оператори if та else.
<?php
if ($gender == "чоловік") {
print("Вітаю вас, пане!");
} else {
print("Вітаю вас, пані!");
}
Із прикладу видно, що умовна конструкція складається з трьох частин:
умова if - вираз, який повертає істинний або хибний результат;
блок if - рядки коду, які будуть виконані, якщо умова повернула істину;
блок else - рядки коду, які будуть виконані, якщо умова повернула неправду.
Зверніть увагу, що кожен блок обрамляється і обмежується фігурними дужками.
Вираз у мові програмування - це мінімальний блок коду, що має значення (результат). Звучить дещо складно, але на практиці майже кожен рядок сценарію є виразом. Ось кілька прикладів виразів:
$amount = 2 + 2
2 > 3
$gender == "чоловік"
Важливо засвоїти одну головну властивість виразів - вони завжди мають результат. Також розрізняють два типи виразів: логічні та арифметичні. Результатом виконання логічного виразу завжди буде істина або брехня. Наприклад, результатом виразу 2 > 3 буде "неправда", бо два, вочевидь, менші за три.
Іншим видом виразів є арифметичний вираз. Результатом виразу $amount = 2 + 2 буде 4.
У яких випадках може знадобитися знати результат виразу? Вирази особливо корисні в умовах, тобто коли ми хочемо виконати або не виконати будь-яку дію, залежно від результату виразу. Вирази також можна об'єднувати між собою таким чином, що кілька окремих виразів у підсумку обчислюються як один.
Припустимо, що на нашому сайті ми хочемо показати певну картинку тільки відвідувачам чоловічої статі і старше 18 років. Раніше, в коді сценарію, ми вже отримали і зберегли рік народження і стать відвідувача у змінні $age і $gender. Напишемо вираз і умову для реалізації такої поведінки:
<?php
if ($gender == "чоловік" && $age > 17) {
print("<img src='/xxx.jpg'>");
}
Зверніть увагу на && - це оператор, який об'єднує два окремі вирази в один новий. Цей новий вираз матиме значення "істина", тільки якщо обидва окремі вирази будуть істинними. Іншими словами, наша умова виконуватиметься тільки для відвідувачів чоловічої статі та віком старше вісімнадцяти. Тобто неповнолітні хлопчики, так само як і всі дівчатка ніякої картинки не побачать.
Багато хто з нас щось чув про алгоритми на уроках інформатики в школі. На жаль, далеко не всі шкільні знання залишаються з нами після її закінчення. Проте розуміння, що таке алгоритм, і вміння ці самі алгоритми будувати - це дуже важливі навички, без яких не вдасться розв'язувати навіть відносно прості задачі.
Якщо говорити простими словами, то алгоритм - це просто дуже докладний план роботи. Ми всі протягом життя що-небудь плануємо: відпустку, якийсь захід, своє самостійне навчання тощо. Від простого списку кроків алгоритм відрізняє існування умов і повторюваних дій. Якщо ви в змозі створити хороший, детальний алгоритм для реалізації, скажімо, якоїсь можливості на сайті, то можна вважати, що половина справи вже зроблена!
Розберемо для прикладу один алгоритм середньої складності. На сайт потрібно додати форму зворотного зв'язку. Користувач може заповнити цю форму, вказати там свої контактні дані та написати повідомлення. Інформація із заповненої форми надсилається на електронну пошту власнику сайту. Ось як виглядатиме алгоритм для цього завдання:
Показати форму.
Перевірити, що форму надіслано.
Скласти список полів форми, обов'язкових для заповнення.
Для кожного поля зі списку перевірити, що воно заповнене.
Якщо поле не заповнене, показати помилку і не відправляти форму.
Якщо всі поля заповнені, сформувати повідомлення електронної пошти.
Надіслати повідомлення на адресу адміністратора сайту.