Przejdź do głównej zawartości

Bardzo krótki poglądowy kurs języka PHP

Moduł 1: Wprowadzenie do PHP

PHP (Hypertext Preprocessor) to skryptowy język programowania, który jest szczególnie przydatny do tworzenia dynamicznych stron internetowych. Jest to język wykonywany po stronie serwera, co oznacza, że kod PHP jest przetwarzany na serwerze, a wynik (np. HTML) jest wysyłany do przeglądarki użytkownika.

Kluczowe zagadnienia:

  • Historia PHP: PHP został stworzony w 1994 roku przez Rasmusa Lerdorfa. Obecnie jest jednym z najpopularniejszych języków do tworzenia stron internetowych.
  • Zastosowania: PHP jest używany do tworzenia stron internetowych, systemów zarządzania treścią (CMS), sklepów internetowych, aplikacji webowych i wielu innych.
  • Pierwszy skrypt PHP: Skrypty PHP są osadzone w plikach HTML i rozpoczynają się od <?php oraz kończą ?>.

Przykład kodu:

<?php
echo "Witaj, świecie!";
?>

Ten skrypt wyświetli tekst "Witaj, świecie!" na stronie internetowej.

Ćwiczenie:

Stwórz plik index.php i umieść w nim powyższy kod. Uruchom go na lokalnym serwerze (np. XAMPP) i zobacz wynik w przeglądarce.

Moduł 2: Podstawy składni PHP

Składnia PHP jest podobna do innych języków programowania, takich jak C czy Java. Każda instrukcja kończy się średnikiem (;), a bloki kodu są otoczone nawiasami klamrowymi ({}).

Kluczowe zagadnienia:

  • Zmienne: W PHP zmienne zaczynają się od znaku dolara ($), np. $imie = "Jan";.
  • Typy danych: PHP obsługuje różne typy danych, takie jak ciągi znaków (string), liczby całkowite (int), liczby zmiennoprzecinkowe (float), tablice (array) i inne.
  • Operatory: PHP oferuje operatory arytmetyczne (+, -, *, /), porównania (==, !=, >, <) oraz logiczne (&&, ||, !).

Przykład kodu:

<?php
$liczba1 = 10;
$liczba2 = 5;
$suma = $liczba1 + $liczba2;
echo "Suma: " . $suma;
?>

Ten skrypt oblicza sumę dwóch liczb i wyświetla wynik.

Ćwiczenie:

Napisz skrypt, który sprawdzi, czy liczba jest parzysta, i wyświetli odpowiedni komunikat.

Moduł 3: Funkcje w PHP

Funkcje w PHP pozwalają na organizację kodu i jego wielokrotne wykorzystanie. Funkcje mogą przyjmować argumenty i zwracać wartości.

Kluczowe zagadnienia:

  • Definiowanie funkcji: Funkcje definiuje się za pomocą słowa kluczowego function, np. function powitanie($imie) { ... }.
  • Argumenty i wartości zwracane: Funkcje mogą przyjmować argumenty i zwracać wartości za pomocą return.
  • Zakres zmiennych: Zmienne wewnątrz funkcji są lokalne, chyba że użyjemy słowa kluczowego global.

Przykład kodu:

<?php
function obliczSrednia($liczby) {
    $suma = array_sum($liczby);
    $ilosc = count($liczby);
    return $suma / $ilosc;
}

$tablica = [10, 20, 30, 40, 50];
echo "Średnia: " . obliczSrednia($tablica);
?>

Ten skrypt oblicza średnią z tablicy liczb.

Ćwiczenie:

Napisz funkcję, która przyjmuje dwie liczby i zwraca większą z nich.

Moduł 4: Praca z tablicami

Tablice w PHP są używane do przechowywania wielu wartości w jednej zmiennej. Mogą być indeksowane numerycznie lub asocjacyjnie.

Kluczowe zagadnienia:

  • Tworzenie tablic: Tablice można tworzyć za pomocą array() lub składni krótkiej [].
  • Indeksowanie tablic: Tablice numeryczne mają indeksy liczbowe, a asocjacyjne — klucze tekstowe.
  • Funkcje do pracy z tablicami: PHP oferuje wiele funkcji, takich jak array_push(), array_pop(), array_merge() i inne.

Przykład kodu:

<?php
$kolory = ["czerwony", "zielony", "niebieski"];
$kolory[] = "żółty"; // Dodanie nowego elementu
print_r($kolory);
?>

Ten skrypt tworzy tablicę kolorów i dodaje do niej nowy element.

Ćwiczenie:

Stwórz tablicę asocjacyjną, która przechowuje imiona i wiek kilku osób, a następnie wyświetl te dane.

Moduł 5: Obsługa formularzy

PHP umożliwia łatwe przetwarzanie danych z formularzy HTML. Dane mogą być przesyłane metodą GET lub POST.

Kluczowe zagadnienia:

  • Metoda GET: Dane są przesyłane w adresie URL. Dostęp do nich uzyskujemy przez $_GET.
  • Metoda POST: Dane są przesyłane w ciele żądania. Dostęp do nich uzyskujemy przez $_POST.
  • Walidacja danych: Przed przetworzeniem danych należy je zwalidować, np. sprawdzić, czy pole nie jest puste.

Przykład kodu:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $imie = htmlspecialchars($_POST['imie']);
    echo "Witaj, " . $imie . "!";
}
?>
<form method="post" action="">
    Imię: <input type="text" name="imie">
    <input type="submit" value="Wyślij">
</form>

Ten skrypt przetwarza dane z formularza i wyświetla powitanie.

Ćwiczenie:

Stwórz formularz z polem do wprowadzenia wieku i wyświetl komunikat, czy użytkownik jest pełnoletni.

Moduł 6: Praca z bazami danych

PHP może łączyć się z bazami danych, takimi jak MySQL, aby przechowywać i pobierać dane.

Kluczowe zagadnienia:

  • Łączenie z bazą danych: Użyj funkcji mysqli_connect() lub klasy mysqli.
  • Wykonywanie zapytań: Użyj funkcji mysqli_query() do wykonywania zapytań SQL.
  • Zabezpieczenia: Zawsze używaj przygotowanych zapytań (prepared statements), aby uniknąć ataków SQL Injection.

Przykład kodu:

<?php
$serwer = "localhost";
$uzytkownik = "root";
$haslo = "";
$baza = "testowa";

$polaczenie = new mysqli($serwer, $uzytkownik, $haslo, $baza);

if ($polaczenie->connect_error) {
    die("Błąd połączenia: " . $polaczenie->connect_error);
}

$sql = "SELECT id, imie FROM uzytkownicy";
$wynik = $polaczenie->query($sql);

while ($wiersz = $wynik->fetch_assoc()) {
    echo "ID: " . $wiersz["id"] . " - Imię: " . $wiersz["imie"] . "<br>";
}

$polaczenie->close();
?>

Ten skrypt łączy się z bazą danych, pobiera dane z tabeli uzytkownicy i wyświetla je.

Ćwiczenie:

Stwórz formularz do dodawania nowych użytkowników do bazy danych.

Moduł 7: Sesje i ciasteczka

Sesje i ciasteczka są używane do przechowywania informacji o użytkowniku między różnymi stronami.

Kluczowe zagadnienia:

  • Sesje: Sesje są inicjowane za pomocą session_start() i przechowują dane na serwerze.
  • Ciasteczka: Ciasteczka są przechowywane po stronie klienta i można je ustawić za pomocą setcookie().
  • Bezpieczeństwo: Zawsze waliduj dane sesji i ciasteczek, aby uniknąć ataków.

Przykład kodu:

<?php
session_start();
$_SESSION['uzytkownik'] = "Jan";
echo "Sesja rozpoczęta, użytkownik: " . $_SESSION['uzytkownik'];
?>

Ten skrypt rozpoczyna sesję i przechowuje nazwę użytkownika w zmiennej sesyjnej.

Ćwiczenie:

Stwórz system logowania, który używa sesji do przechowywania informacji o zalogowanym użytkowniku.

Moduł 8: Obsługa błędów i wyjątki

PHP oferuje mechanizmy do obsługi błędów i wyjątków, które pomagają w zarządzaniu nieoczekiwanymi sytuacjami.

Kluczowe zagadnienia:

  • Błędy: PHP ma wbudowane funkcje do obsługi błędów, takie jak error_reporting() i set_error_handler().
  • Wyjątki: Wyjątki są obsługiwane za pomocą bloków try, catch i finally.
  • Logowanie błędów: Błędy można logować do pliku za pomocą error_log().

Przykład kodu:

<?php
function dzielenie($a, $b) {
    if ($b == 0) {
        throw new Exception("Dzielenie przez zero!");
    }
    return $a / $b;
}

try {
    echo dzielenie(10, 0);
} catch (Exception $e) {
    echo "Błąd: " . $e->getMessage();
}
?>

Ten skrypt demonstruje obsługę wyjątków w przypadku dzielenia przez zero.

Ćwiczenie:

Napisz funkcję, która sprawdza, czy plik istnieje, i rzuca wyjątek, jeśli plik nie został znaleziony.

Moduł 9: Programowanie obiektowe w PHP

Programowanie obiektowe (OOP) w PHP pozwala na tworzenie klas i obiektów, co ułatwia organizację kodu i jego ponowne wykorzystanie.

Kluczowe zagadnienia:

  • Klasy i obiekty: Klasy są szablonami dla obiektów, a obiekty są instancjami klas.
  • Właściwości i metody: Właściwości to zmienne w klasie, a metody to funkcje.
  • Dziedziczenie: Klasy mogą dziedziczyć właściwości i metody od innych klas.

Przykład kodu:

<?php
class Samochod {
    public $marka;
    public $model;

    public function __construct($marka, $model) {
        $this->marka = $marka;
        $this->model = $model;
    }

    public function wyswietlInfo() {
        return "Samochód: " . $this->marka . " " . $this->model;
    }
}

$mojSamochod = new Samochod("Toyota", "Corolla");
echo $mojSamochod->wyswietlInfo();
?>

Ten skrypt definiuje klasę Samochod i tworzy obiekt tej klasy.

Ćwiczenie:

Stwórz klasę KontoBankowe, która przechowuje saldo i umożliwia wpłaty oraz wypłaty.

Moduł 10: Zaawansowane techniki PHP

Zaawansowane techniki w PHP obejmują pracę z plikami, manipulację ciągami znaków, wyrażenia regularne i tworzenie API.

Kluczowe zagadnienia:

  • Praca z plikami: Użyj funkcji fopen(), fwrite(), fclose() do pracy z plikami.
  • Manipulacja ciągami znaków: PHP oferuje wiele funkcji, takich jak strlen(), substr(), str_replace().
  • Wyrażenia regularne: Użyj funkcji preg_match() do wyszukiwania wzorców w ciągach znaków.

Przykład kodu:

<?php
$plik = fopen("test.txt", "w");
fwrite($plik, "To jest testowy plik.");
fclose($plik);
echo "Plik został zapisany.";
?>

Ten skrypt tworzy plik tekstowy i zapisuje w nim dane.

Ćwiczenie:

Napisz skrypt, który odczytuje plik CSV i wyświetla jego zawartość w tabeli HTML.

Moduł 11: Bezpieczeństwo w PHP

Bezpieczeństwo jest kluczowym aspektem tworzenia aplikacji webowych. PHP oferuje wiele funkcji do zabezpieczania aplikacji.

Kluczowe zagadnienia:

  • Bezpieczeństwo danych: Zawsze używaj funkcji htmlspecialchars() do wyświetlania danych.
  • Ochrona przed atakami XSS: Waliduj i filtruj dane wejściowe.
  • Ochrona przed atakami CSRF: Używaj tokenów CSRF w formularzach.

Przykład kodu:

<?php
$haslo = "tajne_haslo";
$hash = password_hash($haslo, PASSWORD_DEFAULT);
echo "Zahashowane hasło: " . $hash;
?>

Ten skrypt demonstruje hashowanie hasła przy użyciu funkcji password_hash.

Ćwiczenie:

Stwórz formularz logowania z zabezpieczeniem przed atakami SQL Injection i XSS.

Moduł 12: Wdrażanie aplikacji PHP

Wdrażanie aplikacji PHP na serwerze wymaga odpowiedniej konfiguracji i optymalizacji.

Kluczowe zagadnienia:

  • Konfiguracja serwera: Użyj pliku .htaccess do konfiguracji serwera Apache.
  • Optymalizacja wydajności: Użyj buforowania (np. OPcache) i minimalizuj zapytania do bazy danych.
  • Monitorowanie: Użyj narzędzi takich jak New Relic do monitorowania wydajności aplikacji.

Przykład kodu:

<?php
// Przykład konfiguracji serwera
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', '/var/log/php_errors.log');
?>

Ten skrypt konfiguruje serwer do logowania błędów zamiast wyświetlania ich użytkownikowi.

Ćwiczenie:

Przygotuj aplikację PHP do wdrożenia na serwerze produkcyjnym, włączając buforowanie i logowanie błędów.

Komentarze

Popularne posty z tego bloga

Generowanie certyfikatów Let's Encrypt w Windows

Jak wygenerować certyfikat Let's Encrypt w systemie Windows? Przewodnik krok po kroku Certyfikaty SSL/TLS są niezbędne do zabezpieczenia komunikacji między użytkownikami a serwerem. Let's Encrypt to darmowa, zaufana organizacja, która umożliwia generowanie certyfikatów SSL w prosty sposób. W tym wpisie pokażemy, jak wygenerować certyfikat Let's Encrypt w systemie Windows za pomocą narzędzia Certbot oraz jakie opcje i alternatywy są dostępne. Krok 1: Zainstaluj Python Certbot wymaga Pythona do działania. Jeśli nie masz go jeszcze zainstalowanego: Pobierz instalator Pythona ze strony python.org . Uruchom instalator i zaznacz opcję "Add Python to PATH" . Krok 2: Zainstaluj Certbot Otwórz wiersz polecenia (cmd) jako administrator. Zainstaluj Certbot za pomocą pip: pip install certbot Krok 3: Wygeneruj certyfikat ...

Polityka wykonawcza skryptów w PowerShellu

Polityka wykonawcza (Execution Policy) w PowerShell – co to jest i jak ją zmienić? PowerShell to potężne narzędzie do automatyzacji i zarządzania systemem Windows. Jednak domyślne ustawienia bezpieczeństwa mogą uniemożliwić uruchamianie skryptów. W tym wpisie wyjaśniam, czym jest polityka wykonawcza (Execution Policy), jak ją sprawdzić i zmienić, aby móc swobodnie korzystać z PowerShell. Czym jest polityka wykonawcza (Execution Policy)? Polityka wykonawcza to mechanizm bezpieczeństwa w PowerShell, który kontroluje, jakie skrypty mogą być uruchamiane na systemie. Ma ona na celu zapobieganie przypadkowemu lub złośliwemu uruchomieniu niebezpiecznych skryptów. Dostępne polityki wykonawcze PowerShell oferuje kilka poziomów polityki wykonawczej: Restricted – domyślna polityka. Blokuje wszystkie skrypty PowerShell. Można uruchamiać tylko polecenia wprowadzane bezpośrednio w konsoli. AllSigned – pozwala na uruchamianie tylko skryptów pod...

Kalendarz Google - PHP

Jak dodać wydarzenia do Kalendarza Google w PHP? Wprowadzenie Google Calendar API pozwala na automatyczne dodawanie wydarzeń do kalendarza Google za pomocą PHP. W tym artykule pokażemy dwa sposoby: Uwierzytelnienie użytkownika przez OAuth 2.0 Wykorzystanie konta usługi (Service Account) Metoda 1: OAuth 2.0 – Autoryzacja użytkownika 1. Utworzenie projektu w Google Cloud Console 1. Przejdź do Google Cloud Console . 2. Utwórz nowy projekt lub wybierz istniejący. 3. Włącz Google Calendar API w sekcji API & Services . 2. Konfiguracja danych uwierzytelniających 1. Utwórz dane uwierzytelniające: OAuth 2.0 Client ID . 2. Pobierz plik JSON zawierający klucz autoryzacyjny. 3. Instalacja Google Client Library w PHP composer require google/apiclient:^2.0 4. Autoryzacja użytkownika Tworzymy plik auth.php : <?php require 'vendor/autoload.php'; session_start(); $client = new Google_Client(); $client->setAuthConfig('credentials.json'); $clie...