Skip to content

1. Wprowadzenie do języka PHP 7

Plik PDF z tego dokumentu jest dostępny pod nazwą |TUTAJ|.

Przykłady zawarte w tym dokumencie są dostępne pod adresem |TUTAJ|.

Niniejszy dokument stanowi część serii czterech artykułów:

  1. [Wprowadzenie do języka PHP7 na przykładach (2019)]. Jest to niniejszy dokument;
  1. [Wprowadzenie do języka ECMASCRIPT6 na przykładach (2019)];
  2. [Wprowadzenie do frameworka VUE.JS na przykładach (2019)];
  3. [Wprowadzenie do frameworka NUXT.JS na przykładach (2019)];

Wszystkie te dokumenty są przeznaczone dla początkujących. Artykuły tworzą logiczną całość, ale są ze sobą słabo powiązane:

  • dokument [1] przedstawia język PHP 7. Czytelnik zainteresowany wyłącznie językiem PHP, a nie językiem JavaScript omawianym w kolejnych artykułach, zakończy lekturę na tym etapie;
  • dokumenty [2-4] mają na celu stworzenie klienta JavaScript dla serwera obliczającego podatek, opracowanego w dokumencie [1];
  • frameworki JavaScript [vue.js] i [nuxt.js], opisane w artykułach 3 i 4, wymagają znajomości języka JavaScript w najnowszych wersjach ECMASCRIPT, a konkretnie w wersji 6. Dokument [2] jest zatem przeznaczony dla osób, które nie znają tej wersji JavaScript. Odwołuje się on do serwera obliczającego podatek, zbudowanego w dokumencie [1]. Czytelnik dokumentu [2] będzie zatem czasami musiał odwołać się do dokumentu [1];
  • po opanowaniu dokumentu ECMASCRIPT można przejść do frameworka VUE.JS, który umożliwia tworzenie klientów JavaScript działających w przeglądarce w trybie SPA (aplikacja jednostronicowa). Jest to dokument [3]. Odnosi się on zarówno do serwera obliczającego podatek, zbudowanego w dokumencie [1], jak i do kodu samodzielnego klienta JavaScript, zbudowanego w dokumencie [2]. Osoba zapoznająca się z dokumentem [3] będzie zatem czasami musiała odwołać się do dokumentów [1] i [2];
  • po opanowaniu VUE.JS można przejść do frameworka NUXT.JS, który umożliwia tworzenie klientów JavaScript działających w przeglądarce w trybie SSR (renderowanie po stronie serwera). Odnosi się on zarówno do serwera obliczającego podatek, opisanego w dokumencie [1], jak i do kodu samodzielnego klienta JavaScript opracowanego w [2], a także do aplikacji [vue.js] opracowanej w dokumencie [3]. Czytelnik dokumentu [4] będzie zatem czasami musiał odwołać się do dokumentów [1], [2] i [3];

Niniejszy dokument zawiera listę skryptów konsolowych PHP 7 z różnych dziedzin (struktury języka, dostęp do plików, baz danych oraz sieci internetowej). Programowanie internetowe omówiono w kontekście usług internetowych. W niniejszym dokumencie terminem „usługa internetowa” określono każdą aplikację internetową generującą tekst zwykły. Są to serwery danych, a nie serwery stron internetowych, które stanowią połączenie HTML, CSS i JavaScript. Omówiono w nim klasyczne pojęcia internetowe (protokół HTTP, odpowiedzi jSON lub XML, zarządzanie sesjami, uwierzytelnianie), wykorzystywane również w klasycznym programowaniu internetowym.

Obecnie często tworzy się aplikacje internetowe w modelu klient-serwer:

Image

  • w [1] przeglądarka internetowa wyświetla strony internetowe przeznaczone dla użytkownika [5, 7]. Strony te zawierają kod JavaScript realizujący funkcję klienta serwisu danych [2], a także klienta serwera fragmentów stron internetowych [3]. Ugruntowanym frameworkiem JS w tej dziedzinie jest Angular 2 firmy Google (maj 2019 r.);
  • W przypadku [2] serwer WWW pełni rolę serwera danych. Może być napisany w dowolnym języku programowania. Nie generuje stron internetowych w klasycznym rozumieniu (HTML, CSS, JavaScript), z wyjątkiem być może pierwszego uruchomienia. Jednak tę pierwszą stronę można uzyskać z klasycznego serwera internetowego [3] (nie serwera danych). Skrypt JavaScript na stronie początkowej wygeneruje następnie różne strony internetowe aplikacji, pobierając dane [4] do wyświetlenia z serwera internetowego, który pełni rolę serwera danych [2]. Może również pobierać fragmenty stron internetowych [5] w celu sformatowania tych danych z serwera stron internetowych [3];
  • w [4] użytkownik inicjuje akcję;
  • w [6,7]: otrzymuje dane oprawione w fragment strony internetowej;

W niniejszym dokumencie zajmiemy się tworzeniem aplikacji klient-serwer w PHP7 o następującej strukturze:

Image

Mamy tu aplikację klient-serwer napisaną w PHP. Skrypt konsolowy [9] będzie wysyłał zapytania do serwera danych [4]. Wiedza zdobyta tutaj na temat pisania serwisu danych będzie mogła zostać wykorzystana w aplikacji internetowej. Serwis danych w języku PHP można zachować, natomiast klient PHP zostanie zastąpiony klientem JavaScript.

W ramach tego dokumentu stworzymy usługę obliczania podatku w 13 wersjach. Wersja 13 będzie miała następującą architekturę:

Image

Warstwa serwera [web] będzie miała architekturę MVC (Model – View – Controller). Cały kurs PHP 7 ma na celu stworzenie tej wersji.

Skrypty zawarte w niniejszym dokumencie są opatrzone komentarzami, a wyniki ich wykonania w konsoli zostały odtworzone. W niektórych przypadkach podano dodatkowe wyjaśnienia. Dokument wymaga aktywnego czytania: aby zrozumieć skrypt, należy zapoznać się zarówno z jego kodem, jak i komentarzami oraz wynikami wykonania.

Serge Tahé, lipiec 2019 r.