Lekcja 10: Organizacja Kodu Tworzenie Własnych Funkcji

Wyobraź sobie, że gotujesz skomplikowane danie. Masz przepis podzielony na kroki: „przygotuj warzywa”, „zrób sos”, „ugotuj makaron”. Każdy z tych kroków to zestaw mniejszych czynności. W programowaniu takimi gotowymi „mini-przepisami” są właśnie funkcje.

Funkcja to nazwany blok kodu, który wykonuje określone zadanie. Można go „wywołać” (uruchomić) w dowolnym miejscu programu, ile razy tylko chcemy, bez potrzeby kopiowania i wklejania tego samego kodu.

Dlaczego funkcje są tak ważne?

  • Unikasz powtórzeń (zasada DRY – Don’t Repeat Yourself): Jeśli w 5 miejscach programu musisz sprawdzić, czy email jest poprawny, piszesz funkcję do walidacji raz i używasz jej 5 razy.
  • Czytelność: Kod podzielony na małe, logiczne funkcje o opisowych nazwach (np. wyslijEmail(), obliczPodatek()) jest o wiele łatwiejszy do zrozumienia.
  • Łatwość w zarządzaniu: Jeśli musisz zmienić sposób walidacji emaila, zmieniasz go tylko w jednym miejscu – wewnątrz funkcji.

1. Definiowanie i wywoływanie prostej funkcji

Składnia: function nazwaFunkcji() { // kod do wykonania }

Przykład: Stwórzmy plik funkcje.php i napiszmy funkcję, która wyświetla dzisiejszą datę.

<?php

// 1. Definiowanie funkcji
function wyswietlDate() {
    echo "Dzisiaj jest: " . date("Y-m-d"); // date() to wbudowana funkcja PHP
}

// 2. Wywoływanie funkcji
echo "Witaj na stronie!<br>";
wyswietlDate(); // Uruchamiamy kod z wnętrza funkcji

echo "<br>Miłego dnia!";

?>

Jak widzisz, kod wewnątrz wyswietlDate() wykonał się dopiero wtedy, gdy go wywołaliśmy.

2. Przekazywanie danych do funkcji (Argumenty)

Nasza funkcja jest na razie „ślepa” – nie wie nic o świecie zewnętrznym. Możemy przekazać jej dane, umieszczając zmienne w nawiasach. Nazywamy je argumentami lub parametrami.

Przykład: Stwórzmy funkcję, która wita konkretnego użytkownika.

<?php

// Funkcja przyjmuje jeden argument o nazwie $imie
function przywitaj($imie) {
    echo "Cześć, $imie!";
}

// Wywołujemy funkcję, przekazując jej różne wartości
przywitaj("Anna");  // Wyświetli "Cześć, Anna!"
echo "<br>";
przywitaj("Piotr"); // Wyświetli "Cześć, Piotr!"

?>

Dzięki argumentom nasza funkcja stała się uniwersalna!

3. Zwracanie wartości z funkcji (return)

Funkcje nie muszą niczego wyświetlać. Mogą przetworzyć dane i zwrócić wynik, który możemy przypisać do zmiennej. Do tego służy słowo kluczowe return.

return natychmiast kończy działanie funkcji i oddaje wynik.

Przykład: Stwórzmy funkcję, która oblicza pole kwadratu.

<?php

// Funkcja przyjmuje długość boku i ZWRACA wynik
function obliczPoleKwadratu($bok) {
    $pole = $bok * $bok;
    return $pole;
}

// Wywołujemy funkcję i przypisujemy jej wynik do zmiennej
$wynik = obliczPoleKwadratu(5);
echo "Pole kwadratu o boku 5 wynosi: $wynik"; // Wynik: 25

echo "<br>";

$innyWynik = obliczPoleKwadratu(10);
echo "Pole kwadratu o boku 10 wynosi: $innyWynik"; // Wynik: 100

?>

4. Nowoczesne PHP: Deklarowanie typów

Aby nasz kod był jeszcze bardziej solidny i przewidywalny, w nowoczesnym PHP możemy (i powinniśmy!) określać, jakiego typu danych oczekuje argument i jakiego typu danych funkcja zwraca.

Przykład: Poprawmy naszą funkcję, dodając typowanie.

<?php
// Na początku pliku włączamy tryb ścisłego typowania
declare(strict_types=1);

// Określamy, że $bok musi być liczbą całkowitą (int)
// i że funkcja musi zwrócić liczbę całkowitą (int)
function obliczPoleKwadratu(int $bok): int {
    return $bok * $bok;
}

$wynik = obliczPoleKwadratu(5); // Działa
echo $wynik;

// Ta linijka spowodowałaby błąd, bo "hej" nie jest liczbą całkowitą
// $blednyWynik = obliczPoleKwadratu("hej");

?>

To świetna praktyka, która chroni przed wieloma błędami.

Podsumowanie Kursu i Gratulacje!

NIESAMOWITE! Dotarłeś do końca kursu podstaw PHP! To ogromne osiągnięcie.

Przeszedłeś drogę od zera do momentu, w którym potrafisz:

  • Przechowywać dane w zmiennych i tablicach.
  • Wykonywać operacje za pomocą operatorów.
  • Podejmować decyzje za pomocą instrukcji if/elseif/else.
  • Automatyzować zadania za pomocą pętli for i while.
  • Przetwarzać listy danych pętlą foreach.
  • Tworzyć interaktywne formularze i bezpiecznie przetwarzać dane.
  • Porządkować swój kod w funkcje.

Masz teraz solidny fundament, który pozwala Ci zacząć budować własne, proste projekty i kontynuować naukę bardziej zaawansowanych koncepcji.

Przewijanie do góry