1. Вступ до мови PHP 7
PDF цього документа доступний за посиланням |TYT|.
Приклади з цього документа доступні за посиланням |TYT|.
Цей документ є частиною серії з чотирьох статей:
- [Вступ до мови PHP7 на прикладах (2019)]. Це саме цей документ;
- [Вступ до мови ECMASCRIPT6 на прикладах (2019)];
- [Вступ до фреймворку VUE.JS на прикладі (2019)];
- [Вступ до фреймворку NUXT.JS на прикладах (2019)];
Усі ці документи призначені для початківців. Статті мають логічний зв’язок, але слабко пов’язані між собою:
- документ [1] присвячений мові PHP 7. Читач, якого цікавить лише мова PHP, а не мова JavaScript, про яку йдеться в наступних статтях, може зупинитися на цьому;
- документи [2-4] присвячені створенню клієнта JavaScript для сервера розрахунку податків, розробленого в документі [1];
- фреймворки JavaScript [vue.js] та [nuxt.js], описані у статтях 3 та 4, вимагають знання JavaScript останніх версій ECMASCRIPT, а саме версії 6. Отже, документ [2] призначений для тих, хто не знайомий із цією версією JavaScript. Він посилається на сервер розрахунку податку, створений у документі [1]. Тому читачам документа [2] іноді доведеться звертатися до документа [1];
- опанувавши ECMASCRIPT 6, можна перейти до фреймворку VUE.JS, який дозволяє створювати клієнтські програми на JavaScript, що виконуються в браузері в режимі SPA (Single Page Application). Це документ [3]. Він посилається як на сервер розрахунку податку, створений у документі [1], так і на код автономного клієнта на JavaScript, створений у [2]. Тому читачеві документа [3] іноді доведеться звертатися до документів [1] та [2];
- опанувавши VUE.JS, можна перейти до фреймворку NUXT.JS, який дозволяє створювати клієнти JavaScript, що виконуються в браузері в режимі SSR (Server Side Rendered). Він посилається як на сервер розрахунку податку, описаний у документі [1], і на код автономного клієнта JavaScript, створеного в [2], а також на додаток [vue.js], розроблений у документі [3]. Читачеві документа [4] іноді доведеться звертатися до документів [1], [2] та [3];
Цей документ містить перелік консольних скриптів PHP 7 у різних сферах (структури мови, доступ до файлів, баз даних та Інтернету). Веб-програмування розглядається через веб-сервіси. У цьому документі веб-сервісом називається будь-який веб-додаток, що генерує текст у форматі «raw text». Це сервери даних, а не сервери веб-сторінок, які є поєднанням HTML, CSS та JavaScript. У ньому розглядаються класичні веб-концепції (протокол HTTP, відповіді jSON або XML, управління сесіями, автентифікація), які також використовуються у класичному веб-програмуванні.
Сьогодні веб-додатки часто створюються у режимі «клієнт/сервер»:

- у [1] веб-браузер відображає веб-сторінки, призначені для користувача [5, 7]. Ці сторінки містять JavaScript, що реалізує клієнт веб-сервісу даних [2], а також клієнт сервера фрагментів веб-сторінок [3]. Добре відомим фреймворком JS у цій галузі є Angular 2 від Google (травень 2019 року);
- У [2] веб-сервер є сервером даних. Він може бути написаний будь-якою мовою програмування. Він не генерує веб-сторінок у класичному розумінні (HTML, CSS, JavaScript), за винятком, можливо, першого разу. Але цю першу сторінку можна отримати з класичного веб-сервера [3] (а не з сервера даних). Потім JavaScript початкової сторінки генеруватиме різні веб-сторінки додатка, отримуючи дані [4] для відображення від веб-сервера, який виконує роль сервера даних [2]. Він також може отримувати фрагменти веб-сторінок [5] для оформлення цих даних із сервера веб-сторінок [3];
- у [4] користувач ініціює дію;
- у [6,7]: він отримує дані, оформлені фрагментом веб-сторінки;
У цьому документі ми будемо писати клієнтсько-серверні додатки в PHP7, що мають таку структуру:

Тут ми маємо клієнтсько-серверний додаток, написаний на PHP. Консольний скрипт [9] буде звертатися до сервера даних [4]. Знання, отримані тут для написання сервісу даних, можна буде повторно використати у веб-додатку. Сервіс даних на PHP можна буде залишити, а клієнт PHP буде замінений на клієнт на JavaScript.
В якості основної теми цього документа ми створимо сервіс для розрахунку податку у 13 версіях. Версія 13 матиме таку архітектуру:

Серверний рівень [web] матиме архітектуру MVC (Model – View – Controller). Весь курс PHP 7 спрямований на створення цієї версії.
Скрипти в цьому документі містять коментарі, а результати їх виконання в консолі наведено. Іноді надаються додаткові пояснення. Документ вимагає активного читання: щоб зрозуміти скрипт, потрібно одночасно читати його код, коментарі та результати виконання.
Serge Tahé, липень 2019 року