Розробка уроку

Тема: мова програмування РНР, середовище програмування.

Мета:

По завершенню вивчення учень

Обладнання: комп’ютери зі встановленими ОС з текстовим редактором та середовищем програмування РНР.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Закріплення вивченого матеріалу.
  5. Підведення підсумків уроку.
  6. Домашнє завдання.

Хід уроку

1. Організаційний момент
Привітання з учнями. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання. Оголошення теми й мети уроку.

2. Актуалізація опорних знань

Дати відповіді і порівняти з очікуваними:

  1. Що таке алоритм?
    Алгори́тм — це запис набору вказівок, що описують порядок дій виконавця з метою досягнути результат розв'язання задачі за скінченну кількість дій.

  2. Назвіть власивості алгоритмів.
    Дискретність, визначеність, виконуваність, скінченність, результативність, масовість, ефективність.

  3. Назвіть основні алгоритмічні структури.
    Лінійна, з повторенням (циклічна), з розгалуженням.

  4. Хто такий виконавець алгоритму?
    Це жива істота (людина або тварина) або автоматичний пристрій (робот, електронна обчислювальна машина тощо), спроможна діяти відповідно з алгоритмом.

  5. Що таке система вказівок (команд) виконавця?
    Система вказівок виконавця — це сукупність вказівок, які розуміє і здатний виконати виконавець.

  6. Що таке комп'ютерна програма?
    Комп'ютерна програма — алгоритм (запис послідовності вказівок) для комп'ютера.

3. Вивчення нового матеріалу

PHP (англійською Hypertext Preprocessor — гіпертекстовий препроцесор, попередня назва: Personal Home Page Tools — засоби для особистої домашньої сторінки) — мова програмування, створена для породження HTML-сторінок зі сторони веб-сервера.

PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок разом із Java, .NET, Perl, Python і Ruby.

Веб-сервер інтерпретує код PHP у код HTML, який передає клієнту. Також код РНР можна вбудовувати безпосередньо в код html. На відміну від мови JavaScript, користувач не бачить PHP-коду, бо браузер клієнта отримує готовий html-код.

Давайте проаналізуємо, що відбувається, коли користувач звертається до сервера. Він пише в рядку адреси браузера адресу сторінки чи переходить за якимось посиланням, тобто створює запит. Що робить сервер?

У найпростішому випадку викликають HTML сторінку — текстовий файл. Браузер, посилає запит на сервер, отримує код сторінки, додатково завантажує необхідні файли, прописані в коді сторінки і необхідні для відображення її дизайну та її коректної роботи, та показує результат у своєму вікні. Такі сторінки мають статичний характер.

Тепер розглянемо випадок, коли викликають сторінку, написану мовою PHP. У цьому випадку відбувається зовсім інше. При зверненні до сервера Web машина обробляє дані, отримані з файлу *.php, після чого сервер відправляє результат опрацювання цих даних у браузер користувача. Такі сторінки називають динамічними.

З допомогою мови PHP можна зробити будь-що, що роблять CGI програми (англійською Common Gateway Interface — загальний інтерфейс шлюзу — стандарт інтерфейсу, який використовують для організації взаємодії програми веб-сервера із зовнішньою програмою). Наприклад, опрацювання даних форм, породження вмісту динамічних сторінок, відправлення та отримання куків. Але PHP має значно ширші можливості.

Основні області застосування PHP коду

  1. Написання скриптів для виконання на стороні сервера. PHP традиційно і найширше використовують саме таким чином. Потрібно запустити веб-сервер з встановленою на ньому мовою PHP. Через веб-сервер можна пропускати сторінку з кодом PHP, та проглядати результат її роботи через веб-браузер. Все це можна робити навіть на домашньому комп'ютері. Хоча існує можливість опробувати код PHP, використовуючи online сервіс. Наприклад, Coding Ground.

  2. Створення скриптів для виконання в командному рядку без будь-якого сервера чи браузера. Цей тип використання ідеальний для скриптів, що регулярно запускають через cron (на *nix чи Linux) чи його аналог Планувальник Задач (на Windows). Ці скрипти можна використовувати для простого опрацювання текстів.

  3. Створення програм з графічним інтерфейсом. Хоча мова РНР не найкраща для такого використання.

PHP можна використовувати при більшості операційних систем: Linux, багато варіантів Unix (включаючи HP-UX, Solaris та OpenBSD), Microsoft Windows, Mac OS X, RISC OS та, можливо, інших.

PHP має також підтримку для більшості сучасних веб-серверів: Apache, IIS та багатьох інших. Окрім цього, підтримка є на будь-якому веб-сервері, що використовує бінарні коди FastCGI — клієнт-серверного протоколу взаємодії веб-сервера та програм.

PHP не обмежено створенням лише коду HTML: можливе подання зображень, PDF-файлів та навіть Flash роликів, що які породжують «на льоту». Можна легко виводити будь-який текст XHTML та будь-який інший XML-файл. PHP може породжувати такі файли та зберігати їх у файловій системі, а не лише виводити текст, формувати кеш на стороні сервера для динамічного вмісту.

Одна з найсильніших та найістотніших особливостей PHP — це підтримка широкого кола баз даних: Adabas D, dBase, Direct MS-SQL, Empress, FilePro (read-only), FrontBase, Hyperwave, IBM DB2, Informix, Ingres, InterBase, mSQL, MySQL, ODBC, Oracle (OCI7 и OCI8), Ovrimos, PostgreSQL, Solid, Sybase, Unix dbm.

Абетка мови РНР

Змінні та типи данних в PHP
Назва довільної змінної в PHP починається зі знаку $, наприклад $variable. При такому способі формування назв змінних їх легко відрізнити від інших складових коду. Можливе посилання на змінну за її назвою, що зберігається в іншій змінній:

$name = "value";
$value = 5;
echo $$name; // результат виведення: 5
Типи змінних

Тип змінної залежить від того, які дані у ній зберігають. Тип змінної буде встановлено автоматично під час виконання коду. Таеким чином, не отрібно визначати тип змінної у момент її оголошення (створення). Наприклад, можна визначити змінну таким чином:

$answer = 45;

А пізніше можна надати цій самій змінній значення іншого типу:

$answer = "Thanks for all the first...";

Арифметичні оператори РНР

ПрикладНазва (тлумачення)
-$aзміна знака
$a + $bcума
$a - $bрізниця
$a * $bдобуток
$a / $bчастка
$a % $bцілий лишок від ділення
$a ** $b степінь (з PHP 5.6.0)

Логічні оператори РНР призначені виключно для роботи з логічними виразами і повертають значення false або true.

ПрикладНазва
(тлумачення)
Умова істинності (true) результату
$a and $b
$a && $b
логічне «і» обидва аргументи справджуються
$a or $b
$a || $b
логічне «або»хоча б один з аргументів справджується
$a xor $bвиключне «або»лише один з аргументів справджується
! $aзапереченняхибний аргумент

Оператори надання значень РНР

Запис Приклад Значення, надане
змінній $a
=$a='text';'text'
$a = ($b = 4) + 5;9
.$b="Hello "; $a=$b."World!";'Hello World!'
.=$a = "Hello "; $a.="World!";'Hello World!'
+=$a = 5; $a += 3;8

Оператори порівняння РНР порівнювати два значення між собою і незалежно від типів своїх аргументів завжди повертають одне з двох значень: true або false.

ПрикладНазва
(тлумачення)
Умова істиннності результату
$a == $bзбігаєтьсязбігаються значення
$a === $bзбігається повністюзбігаються значення змінних одного типу
$a != $bвідміннезначення не збігаються
$a <> $bвідміннезначення не збігаються
$a !== $bвідмінне повністюне збігаються значення або типи
$a < $bменшезначення $a (строго) менше від значення $b
$a > $bбільшезначення $a (строго) більше від значення $b
$a <= $bне перевищуєзначення $a не перевищує значення $b
$a >= $bне меншезначення $a не менше від значення $b

Пріоритети виконання операторів РНР
Оператори з вищим пріоритетом виконують у першу чергу.

ПриорітетОператорПорядок
виконання
13…++ …-- зліва направо
12++… --… зправа наліво
11* / %зліва направо
10+ -зліва направо
9<< >>зліва направо
8< <= > >=зліва направо
7== != зліва направо
6&зліва направо
5^зліва направо
4|зліва направо
3&&зліва направо
2||зліва направо
1= += -= *= /= %=
>>= <<== &= ^= |=
справа наліво

Зарезервовані слова: __halt_compiler, abstract, and, array, as, break, callable, case, catch, class, clone, const, continue, declare, default, die, do, echo, else, elseif, empty, enddeclare, endfor, endforeach, endif, endswitch, endwhile, eval, exit, extends, final, for, foreach, function, global, goto, if, implements, include, include_once, instanceof, insteadof, interface, isset, list, namespace, new, or, print, private, protected, public, require, require_once, return, static, switch, throw, trait, try, unset, use, var, while, xor, а також назви функцій і сталих. Залежно від конфігурації сервера і платформи, на якій він працює, цей перелік може змінюватися. Для перегляду всього списка використовують функцію phpinfo().

Структура програми на РНР
Код програми записують, як правило, у текстові файли з розширенням *.php. Редагувати такі файли можна будь-якими текстовими редакторами: Блокнот чи Notepad++ (MS Windows), gEdit, Kate чи Atom (Linux) та ін.

Приклад 1 (виведення тексту)

<html>
<body>
	<?php echo "Helloy World!" ?>
</body>
</html>

Чіткої структури програми не існує. Код РНР розпочинають тегом <?php і закінчують тегом ?>. Таких вставлень на сторінці може бути досить багато. Може трапитися, що весь файл — це код РНР. Код РНР буде проінтерпретовано і на його місці буде лише результат інтерпретації. У поданому прикладі 1 — результат виконання функції echo, яка виведе повідомлення: Helloy World!

Після кожної вказівки ставлять крапку з комою. Якщо вказівка лише одна, крапку з комою можна не ставити.

Приклад 2 (виведення значень змінних)

<html>
<body>
  <?php $name = "Petrov"; ?>
  <p>My name is <? php echo $name; ?></p>
</body>
</html>
<html>
<body>
  <p>My name is Petrov</p>
</body>
</html>

Приклад 3 (використання змінних різного типу)

<?php 
$a = "5"; 
$b = 3;
echo $a+$b; //результат буде 8
echo $a.$b; //результат буде 53
?>

При додаванні тип змінної $a змінено з рядка на числовий. При об’єднанні рядків тип змінної $b змінено з типу число на тип рядок.

Означення (оголошення) функції починають з ключового слова function. Потім записують назву функції, після чого у круглих дужках вказують список змінних-параметрів. Функції не тільки виконують певні перетворення, але й можуть повертати в програму результат цих перетворень. Для цього використовують ключове слово return — див. такий приклад.

<?php
function x_cube($x)
{ $x3=$x*$x*$x;
  return $x3;
}
?>

4. Закріплення вивченого матеріалу

  1. Що таке РНР?
  2. Де використовують РНР?
  3. Які переваги мови РНР?
  4. В якому середовищі створюють код програми РНР?
  5. Як оголосити змінну в програмі?
  6. Які існують типи змінних РНР?
  7. Які є арифметичні оператори РНР?
  8. Які є логічні оператори РНР?
  9. Які є оператори порівняння РНР?
  10. Які є оператори наданя значень РНР?

5. Підбиття підсумків уроку
Виставлення оцінок.

6. Домашнє завдання

Вивчити навчальний матеріал уроку. Ознайомитися з можливостями мови РНР і сферами її застосування. У разі потреби використати довідникову літературу або ресурси Інтернету.


Для допитливих

Функції роботи з рядками

Приклад 4
<?php 
$a = "Текстовий рядок"; 
echo strlen($a)         //результат буде 15
echo strpos($a, "я");   //результат буде 11
echo substr($a, 10, 3); //результат буде 'ряд'
?>
Математичні функції Приклад 5
Округлити куб числа пі.
<?php 
echo ceil(pow(pi(), 3)); //результат буде 32
?>
Умовний оператор
if (логічний вираз) оператор;
if (
логічний вираз) оператор1 else оператор2;

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

Приклад 6:
if ($a > $b) echo "а більше b";
if ($a > $b) {echo "а більше b"; $b = $a; }
if ($a > $b) {echo "а більше b";} else {echo "a не перевищує b";}

Галуження на багато гілок

switch(вираз) {
  case значення1: вказівка1; [break;]
  case значення2: вказівка2; [break;] ...
  case> значенняК: вказівкаK; [break;]
  [default: вказівка_як_усталено; [break]]
}

Примітка. Тут у квадратних дужках вказано необов'язкові складові запису.

Приклад 7

$х="Яблуко"; 
switch ($x){
  case "Яблуко": echo "Це Яблуко"; break;
  case "Груша":  echo "Це Груша";  break;
  case "Диня":   echo "Це Диня";   break;
}
Повторення (цикли)
while (логічний вираз) вказівка;
do {вказівки циклу} while (логічний вираз);
for (вказівки_початку; умова_циклу; вказівки_кінця_ітерації) {вказівки циклу}


Приклад 8 (в усіх чотирьох випадках виведення таке: 12345678910):

$x=0;  while ($x++<10) echo $x;
$x=0;  while ($x<10) {$x++; echo ?x;}
$x=1;  do {echo $x;} while ($x++<10);
$x=1;  for ($x=0; $x<10; $x++) echo $x;

Робота з файлами

Тип доступу задають як аргумент функції fopen:

Приклад 9

Різні родини операційних систем мають різні угоди щодо ознаки кінця рядка:

Windows пропонує спеціальний параметр t для перетворення символів кінця рядка систем типу Unix в свої символи кінця рядка. На противагу цьому існує опція b, яку використовують найчастіше для бінарних файлів, завдяки чому такої трансляції не буде. Використовувати ці параметри можна, дописавши їх після останнього символу обраного типу доступу до файлу. Наприклад, відкриваючи файл на читання, замість r використовувати rt, щоб перекодувати всі символи кінця рядка в \r\n. Якщо не використовувати прапор b при відкритті бінарних файлів, то можуть з'являтися помилки, пов'язані зі зміною вмісту файлу. З міркувань можливості перенесення програми на різні платформи рекомендовано завжди використовувати прапор b при відкритті файлів за допомогою fopen.

Приклад 10.

<?php
$fp = fopen("counter.txt", "a"); // відкривання файлу в режимі запису
$mytext = "Текст, який запишемо в файл\r\n";
$test = fwrite($fp,$mytext);     // запис у файл
if ($test) echo 'Дані у файл записано.';
else       echo 'Помилка запису даних у файл.';
fclose($fp);                     //закриття файлу
?>

Для того, щоб виконати код програми, можна використовувати текстовий редактор із вбудованим інтерпретатором (компілятором) або використовувати локальний чи віддалений веб-сервери.

Багатоплатформні редактори й сервери

Локальні комплекси, які включають в собі всі необхідні сервери (Apache, PHP, MySQL) для розробки веб-сайтів:

Корисні посилання

Текст упорядкував Романов Володимир Вікторович, вчитель спеціалізованої школи № 269 І-ІІІ ступенів з поглибленим вивченням французької мови міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 05.12.2016 по 09.12.2016.