Witaj, internetowy włóczykiju! To jest Kurs PHP i MySQL od podstaw. Obszerny tutorial PHP, który pomoże Ci postawić pierwsze kroki na drodze do kariery programisty tego języka. Skoro tutaj jesteś i to czytasz, to zakładam, że interesuje Cię ten temat.
Gratuluję dobrego wyboru i przy okazji zdradzę Ci, że PHP to idealny język do nauki programowania dla początkujących.
Naukę zaczniesz od absolutnego początku. Czyli najpierw dowiesz się, jak zainstalować i przygotować środowisko pracy, jakie środowisko programistyczne wybrać oraz jak stworzyć pierwszy skrypt. Potem poznasz podstawy składni języka PHP. Następnie, bazując na zdobytej wcześniej wiedzy, będziesz uczyć się coraz bardziej zaawansowanych zagadnień.
Przygotowałem też parę miłych dodatków. Dzięki nim nauka na pewno będzie przyjemna i skuteczna. Między innymi wszystkiego będziesz uczyć się na praktycznych przykładach. Każde zagadnienie jest opatrzone nawet kilkoma przykładami, pozwalającymi spojrzeć na dany temat z różnych stron.
Ponadto w kursie tym znajdziesz masę ćwiczeń. Pomogą Ci one wyrobić praktyczną umiejętność posługiwania się językiem PHP. Większość z nich celowo jest bardzo łatwa, ponieważ ich zadaniem jest pomóc Ci zrozumieć i utrwalić omawiane kwestie, a nie uprzykrzyć Ci życie.
Dodatkowo, każdy rozdział tego kursu PHP kończy się podsumowaniem najważniejszych zagadnień oraz dodatkowymi zestawami pytań i ćwiczeń do wykonania. Pomogą Ci one jeszcze lepiej utrwalić zdobyte wiadomości oraz mogą służyć jako ściągawka, kiedy zechcesz coś sobie przypomnieć po pewnym czasie.
Zachęcam Cię do sumiennego wykonywania wszystkich ćwiczeń, ponieważ aby skutecznie nauczyć się programować, sam kurs PHP, choćby najlepszy, nie wystarczy. Oprócz niego potrzebujesz jeszcze odrobiny czasu, dyscypliny, konsekwencji i wytrwałości. Jakby powiedział słynny fizyk, Richard Feynman:
Jeśli chcesz (…) zrobić kawałek naprawdę dobrej roboty, to musisz ją robić nieprzerwanie. A to dlatego, że jeśli układa się w całość pomysły mgliste i trudne do zapamiętania, to tak jakby budowało się domek z kart, bardzo chwiejny, a zapomnienie choćby jednej z nich powoduje rozsypanie się całej konstrukcji. Nie wiesz, jak doszedłeś do tego, co już miałeś i musisz zaczynać budowę od początku.
Przed przejściem do części praktycznej tego tutorialu PHP, tytułem wstępu poniżej przedstawiam garść cennych informacji teoretycznych. Wyjaśniam, czym dokładnie są PHP i MySQL, co trzeba wiedzieć, zanim rozpocznie się ten kurs PHP, gdzie powinno się używać tych technologii itd.
Czym jest PHP
PHP to łatwy do nauczenia serwerowy język skryptowy o otwartym kodzie źródłowym, przeznaczony głównie do tworzenia dynamicznych stron internetowych.
Słowo serwerowy oznacza, że skrypty w tym języku są wykonywane na serwerze. Natomiast słowo skryptowy oznacza, że programy napisane w tym języku mają postać skryptów. Są to zwykłe pliki tekstowe zawierające kod źródłowy, który jest wykonywany przez interpreter.
Interpreter z kolei to działający na serwerze specjalny program, który interpretuje, a więc przetwarza, kod w języku PHP i wykonuje zawarte w nim polecenia. To oznacza, że programów napisanych w języku PHP się nie kompiluje. Między innymi tym różni się on od tzw. kompilowanych języków programowania, takich jak C/C++, Java, czy C#.
Za pomocą skryptów w języku PHP można tworzyć, odczytywać i zapisywać pliki na serwerze, można pobierać dane od użytkownika za pośrednictwem formularzy, można szyfrować dane i kontrolować dostęp użytkowników do stron internetowych oraz można wykonywać wiele innych czynności związanych z obsługą działania serwisów internetowych w tak zwanym backendzie.
Czym jest MySQL
MySQL to popularny bezpłatny system zarządzania relacyjnymi bazami danych (ang. relational database management system — RDBMS) o otwartym kodzie źródłowym.
Bazy danych MySQL doskonale sprawdzają się zarówno w małych, jak i dużych projektach. Są bardzo szybkie, łatwe w użyciu, działają na serwerze oraz wykorzystują standardowy język SQL. Świetnie współpracują z językiem PHP i można pokusić się o stwierdzenie, że stanowią z nim doskonale zgrany tandem.
Ten Kurs PHP i MySQL od podstaw zawiera wprowadzenie do technik pracy z bazami danych w dalszej części. Najpierw musisz zdobyć umiejętność posługiwania się podstawowymi składnikami języka PHP.
Kiedy nadejdzie odpowiednia chwila, pokażę Ci między innymi, jak utworzyć własną bazę danych MySQL, jak się z nią połączyć oraz jak zapisywać w niej dane, aby móc je później stamtąd pobierać i prezentować na swoich stronach internetowych.
Kurs PHP i MySQL od podstaw — wymagania wstępne
Aby ten Kurs PHP i MySQL od podstaw był dla Ciebie lekką i przyjemną lekturą, wystarczy Ci podstawowa znajomość języków HTML i CSS.
Można powiedzieć, że PHP i HTML, tak jak HTML i CSS, to papużki nierozłączki. Dlatego, jeśli jeszcze nic nie wiesz o tych dwóch pozostałych technologiach, zachęcam Cię najpierw do przestudiowania Kursu HTML i CSS od podstaw. Dowiesz się w nim wszystkiego na temat HTML5 i poznasz podstawy CSS. A jeśli chcesz dokładniej poznać Kaskadowe arkusze stylów, to polecam ci Kurs CSS dla średniozaawansowanych.
Jeżeli natomiast znasz już te technologie przynajmniej w podstawowym stopniu, to śmiało możesz zanurkować w świat języka PHP, instrukcji sterujących, funkcji i obiektów, serwerów sieciowych, relacyjnych baz danych i wielu innych opisywanych w tym kursie zagadnień.
Czego nauczysz się w tym kursie PHP
Gdy ukończysz ten Kurs PHP i MySQL od podstaw i sumiennie wykonasz wszystkie zawarte w nim ćwiczenia, twój zasób umiejętności poszerzy się między innymi w następujących obszarach:
- Składnia języka PHP 8
- Operatory PHP i ich cechy
- Konstrukcje warunkowe PHP
- Konstrukcje pętlowe PHP
- Praca z łańcuchami w PHP
- Wyrażenia regularne w PHP
- Programowanie obiektowe w PHP
- Praca z tablicami w PHP
- Tworzenie funkcji PHP
- Przetwarzanie formularzy w PHP
- Praca z bazą danych MySQL w PHP
Powyższa lista przedstawia tylko część najważniejszych zagadnień, które poznasz w tym kursie. Jeśli chcesz dowiedzieć się więcej, masz ochotę na wielką przygodę w trakcie której radykalnie poszerzysz swoje programistyczne horyzonty, oraz zależy ci na zdobyciu solidnej dawki wiedzy programistycznej, to zapraszam cię do pierwszego rozdziału. Mam nadzieję, że ten tutorial PHP stanie się dla ciebie początkiem wspaniałej przygody!
Kurs PHP i MySQL – spis treści
- Rozdział 1. PHP, Visual Studio Code i XAMPP – podstawowe narzędzia programisty
- PHP, Visual Studio Code i XAMPP
- Instalacja XAMPP
- Konfiguracja PHP w Visual Studio Code
- Tworzenie projektu w katalogu serwera Apache
- Przydatne rozszerzenia do pracy z PHP w Visual Studio Code
- Debugowanie skryptów PHP w Visual Code Studio
- Uruchamianie skryptów PHP w wybranej przeglądarce
- Uzupełnianie składni PHP w Visual Studio Code
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 2. PHP i HTML — zgrany duet
- Tworzenie poprawnych plików PHP
- Zmiana na LF w Visual Studio Code
- Zmiana domyślnego znaku końca wiersza w Visual Studio Code
- Dodawanie skryptów PHP do stron
- Standardowe znaczniki PHP
- Krótkie znaczniki PHP
- Znacznik echo
- Znaczniki PHP w stylu ASP
- Element HTML script
- Mieszanie HTML i PHP
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 3. Składnia PHP – podstawy krok po kroku
- Wysyłanie danych na wyjście — echo i print
- Konstrukcja językowa echo PHP
- Wyrażenia, konstrukcje i instrukcje PHP
- Konstrukcja językowa print PHP
- Funkcje standardowe PHP
- Wywoływanie funkcji PHP
- Komentarze PHP
- Jednowierszowe komentarze PHP
- Wielowierszowe komentarze PHP
- Konwencje zapisu kodu PHP
- Standardy FIG PHP PSR-1 i PHP PSR-12
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 4. Typy danych i zmienne w PHP
- Operator przypisania PHP
- Przypisywanie wartości zmiennym
- Zasady tworzenia nazw zmiennych w PHP
- Nazwy zmiennych a słowa kluczowe języka
- Typy zmiennych w PHP
- Liczby całkowite
- Liczby zmiennoprzecinkowe
- Łańcuchy
- Typ logiczny
- Tablice
- Obiekty
- Typ null
- Zasoby
- Inne typy PHP
- Typ mieszany — mixed
- Typ PHP never
- Zakres dostępności zmiennych w PHP
- Globalny i lokalny zakres dostępności zmiennych
- Statyczny zakres dostępności zmiennych
- Zmienne superglobalne PHP
- Referencje do zmiennych w PHP
- Zmienne o zmiennych nazwach
- Różne operacje na zmiennych
- Sprawdzanie i ustawianie typu zmiennej w PHP
- Sprawdzanie i ustawianie stanu zmiennej w PHP
- Rzutowanie typów zmiennych w PHP
- Kontrola typów w PHP
- PHP to język typowany dynamicznie
- PHP to język o luźnej kontroli typów
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 5. Stałe w PHP
- Jaka jest różnica między stałą a zmienną
- Nazwy stałych w PHP
- Jak definiować stałe w PHP
- Jak uzyskać dostęp do wartości stałych w PHP
- Stałe predefiniowane
- Stałe magiczne PHP
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 6. Operatory PHP
- Czym jest operator PHP
- Ile typów operatorów jest w PHP
- Operatory jednoargumentowe PHP
- Operatory dwuargumentowe PHP
- Operator trójargumentowy PHP
- Podsumowanie
- Pytania
- Rozdział 7. Operatory arytmetyczne PHP
- Jakie są operatory arytmetyczne w PHP
- Działania na liczbach różnego typu
- Działania na liczbach i łańcuchach
- Dzielenie w PHP
- Dzielenie modulo w PHP
- Operatory inkrementacji i dekrementacji
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 8. Operatory porównań PHP
- Czym są operatory porównań PHP
- Operatory równości: == i ===
- Operatory nierówności: != (<>) i !==
- Operatory różności: <, >, <= i >=
- Operator <=> (statek kosmiczny)
- Operator trójargumentowy
- Operator koalescencji null
- Porównywanie liczb zmiennoprzecinkowych w PHP
- Użycie funkcji bccomp()
- Wartość epsilon
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 9. Operatory logiczne PHP
- Jakie są operatory logiczne PHP
- Podstawowe zasady algebry Boole’a
- Operacja Boole’a AND
- Operacja Boole’a OR
- Operacja Boole’a NOT
- Algebra Boole’a w układach cyfrowych
- Operatory && i and
- Operatory || i or
- Operator xor
- Operator negacji !
- Skrócone wykonywanie działań logicznych
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 10. Operatory bitowe PHP
- Jakie są operatory bitowe w PHP
- Liczby binarne
- Uzupełnienie dwójkowe
- Liczby ujemne w uzupełnieniu dwójkowym
- Bitowy operator koniunkcji &
- Bitowy operator sumy logicznej |
- Bitowy operator alternatywy rozłącznej ^
- Bitowy operator negacji ~
- Bitowy operator przesunięcia w lewo <<
- Bitowy operator przesunięcia w prawo
- Przykład z życia wzięty
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 11. Różne operatory PHP
- Konkatenacja w PHP
- Tłumienie komunikatów o błędach w PHP
- Operator wykonywania poleceń powłoki
- Operator instanceof PHP
- Operatory przypisania PHP
- Kolejność i kierunek wiązania operatorów w PHP
- Podsumowanie
- Pytania
- Rozdział 12. Instrukcje warunkowe PHP
- Instrukcje sterujące w PHP
- Instrukcja warunkowa PHP if
- Wplatanie kodu HTML w instrukcję if
- Zagnieżdżanie instrukcji PHP if
- Składnia alternatywna instrukcji PHP if
- Instrukcja warunkowa PHP if-else
- Wplatanie kodu HTML w instrukcję PHP if-else
- Składnia alternatywna instrukcji if-else
- Instrukcja warunkowa PHP if-elseif / if-else if
- Składnia alternatywna instrukcji if-elseif / if-else if
- Różnica między if-elseif a if-else if
- Formatowanie instrukcji warunkowych PHP if
- Instrukcja warunkowa PHP switch
- Grupowanie klauzul case
- Wplatanie kodu HTML w instrukcję PHP switch
- Składnia alternatywna instrukcji switch
- Wyrażenie warunkowe PHP match
- Grupowanie wyrażeń warunkowych
- Operator PHP goto
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 13. Pętle PHP
- Pętla PHP while
- Mieszanie pętli while z kodem HTML
- Składnia alternatywna pętli PHP while
- Pętla PHP do-while
- Pętla PHP for
- Mieszanie pętli PHP for z kodem HTML
- Składnia alternatywna pętli PHP for
- Pętla PHP foreach
- Mieszanie pętli PHP foreach z kodem HTML
- Składnia alternatywna pętli PHP foreach
- Instrukcje PHP break i continue
- Instrukcja PHP break
- Instrukcja PHP continue
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 14. Funkcje PHP — podstawy
- Funkcje PHP — wprowadzenie
- Definiowanie funkcji PHP
- Deklaracja funkcji
- Podpowiedzi typów danych
- Ścisła kontrola typów w PHP
- Wywoływanie funkcji PHP
- Zakres dostępności funkcji
- Parametry i argumenty funkcji PHP
- Parametry obowiązkowe
- Parametry opcjonalne
- Argumenty nazwane
- Zmienna liczba argumentów
- Sposoby przekazywania argumentów do funkcji
- Przekazywanie argumentów przez wartość
- Przekazywanie argumentów przez referencję
- Zwracanie wartości przez funkcję
- Zwrot wartości przez referencję
- Jak czytać prototypy funkcji w dokumentacji PHP
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 15. Funkcje PHP — techniki zaawansowane
- Funkcje wywołań zwrotnych PHP
- Funkcje anonimowe PHP
- Domknięcia
- Funkcje strzałkowe PHP
- Funkcje rekurencyjne PHP
- Funkcje a dostępność zmiennych
- Zmienne globalne PHP
- Słowo kluczowe global
- Zmienne lokalne PHP
- Zmienne statyczne PHP
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 16. Tablice PHP — podstawy
- Czym jest tablica PHP
- Tworzenie tablic w PHP
- Wyświetlanie zawartości tablicy PHP
- Dostęp do elementów tablicy
- Dodawanie elementów do tablicy
- Dodawanie elementów na końcu
- Dodawanie elementów na początku tablicy
- Dodawanie elementów w środku
- Usuwanie elementów z tablicy
- Usuwanie elementów pojedynczo
- Seryjne usuwanie elementów
- Usuwanie ostatniego elementu
- Usuwanie pierwszego elementu
- Modyfikowanie elementów tablicy
- Przeglądanie tablic za pomocą pętli foreach
- Sortowanie tablic PHP
- Operatory tablicowe PHP
- Operator sumy tablic
- Operatory porównań
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 17. Tablice wielowymiarowe PHP
- Tablice wielowymiarowe PHP — zastosowania
- Tworzenie tablic wielowymiarowych w PHP
- Dostęp do elementów tablic wielowymiarowych
- Modyfikowanie elementów tablic wielowymiarowych
- Dodawanie elementów do tablic wielowymiarowych
- Dodawanie elementów na końcu tablicy wielowymiarowej
- Dodawanie elementów w środku tablicy wielowymiarowej
- Dodawanie elementów na początku tablicy wielowymiarowej
- Usuwanie elementów z tablic wielowymiarowych
- Przeglądanie tablic wielowymiarowych za pomocą pętli
- Sortowanie tablic wielowymiarowych
- Destrukturyzacja tablic w pętli foreach
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozwiązania ćwiczeń
- Rozdział 18. Łańcuchy znaków — typ PHP string
- Cudzysłów pojedynczy czy podwójny w PHP
- Znaki specjalne w łańcuchach
- Dwa rodzaje interpolacji zmiennych PHP
- Format PHP heredoc
- Format PHP nowdoc
- Podstawowe operacje na łańcuchach w PHP
- Konkatenacja łańcuchów PHP
- Wyświetlanie łańcuchów znaków
- Konwersja wartości typu PHP string
- Kilka funkcji łańcuchowych PHP, które warto znać
- Sprawdzanie długości łańcucha
- Mieszanie znaków łańcucha PHP
- Dzielenie łańcuchów PHP
- Dostęp do znaków wartości typu PHP string
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozwiązania ćwiczeń
- Rozdział 19. Wyrażenia regularne w PHP od podstaw
- Wyrażenia regularne w PHP — wprowadzenie
- Czym jest wyrażenie regularne
- Funkcje PHP do pracy z wyrażeniami regularnymi
- Metaznaki wyrażeń regularnych PCRE
- Kotwice PCRE
- Grupowanie PCRE
- Klasy znaków PCRE
- Powtórzenia PCRE
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozwiązania ćwiczeń
- Rozdział 20. Formularze PHP — obsługa formularzy PHP od podstaw
- HTTP rządzi internetem
- Budowa formularza PHP — główny kontener
- Metoda GET
- Ważna uwaga na temat bezpieczeństwa
- Metoda POST
- Kiedy używać GET a kiedy POST
- Samoprzetwarzające się formularze PHP
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozwiązania ćwiczeń
- Rozdział 21. Obsługa elementów input i textarea w PHP
- PHP i input
- Obsługa pól tekstowych w PHP
- Wstępne wypełnianie pól tekstowych
- Obsługa przycisków radiowych w PHP
- Obsługa pól wyboru w PHP
- Wstępne wybieranie pól wyboru i przycisków radiowych
- PHP i textarea
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 22. Obsługa list rozwijanych w PHP
- Listy rozwijane w PHP — krótkie wprowadzenie
- Obsługa list wyboru jednej opcji w PHP
- Obsługa list wyboru kilku opcji
- Podsumowanie
- Pytania
- Ćwiczenia
- Rozdział 23. Wysyłanie plików na serwer w PHP
- Plik php.ini
- Gdzie szukać plików php.ini i .user.ini
- Skąd wiadomo, których dyrektyw można używać
- Dyrektywy konfiguracji PHP istotne przy obsłudze wysyłania plików na serwer
- Formularz wysyłania plików na serwer
- Odbieranie pliku na serwerze w PHP
- Weryfikacja typu pliku w PHP — metoda prostacka
- Weryfikacja typu pliku w PHP — funkcja mime_content_type()
- Weryfikacja typu pliku w PHP — trójca finfo_open(), finfo_close(), finfo_file()
- Weryfikacja rozmiaru pliku w PHP
- Przenoszenie pliku do katalogu docelowego w PHP
- Przesyłanie większej liczby plików
- Kilka elementów input
- Jeden element input
- Podsumowanie
- Pytania
- Ćwiczenia

