Tworzenie własnej funkcji w PHP

Jeśli dopiero zaczynasz przygodę z PHP, na pewno zetknąłeś się już z różnymi funkcjami — takimi jak strlen(), date() czy array_push(). To właśnie one sprawiają, że PHP jest tak potężnym i elastycznym językiem do tworzenia stron internetowych.
Ale co, jeśli chcesz stworzyć własną funkcję, która wykona dokładnie to, czego potrzebujesz? Dobra wiadomość: to prostsze, niż myślisz!

W tym artykule pokażę Ci krok po kroku, jak tworzyć własne funkcje w PHP — od podstaw, przez argumenty i wartości zwracane, aż po praktyczne przykłady. Będzie lekko, zrozumiale i praktycznie. Gotowy? To zaczynajmy!

Co to jest funkcja w PHP?

Zanim przejdziemy do kodu, warto wyjaśnić jedno: funkcja to po prostu fragment kodu, który wykonuje określone zadanie i można go wywołać w dowolnym miejscu programu.
Dzięki funkcjom nie musisz powtarzać tych samych instrukcji w różnych miejscach — wystarczy, że raz napiszesz funkcję, a potem możesz jej używać, kiedy tylko chcesz.

Przykład z życia: wyobraź sobie, że masz stronę internetową i w kilku miejscach musisz przeliczać ceny brutto na netto. Zamiast kopiować i wklejać ten sam wzór pięć razy, możesz po prostu napisać funkcję obliczNetto(), która zrobi to za Ciebie.

Jak wygląda składnia funkcji w PHP?

Tworzenie funkcji w PHP jest naprawdę proste. Oto podstawowa składnia:

function nazwaFunkcji() {
    // kod, który ma się wykonać
}

To wszystko!
Ale żeby to miało sens, zobaczmy prosty przykład:

<?php
function przywitaj() {
    echo "Cześć! Miło Cię widzieć :)";
}

przywitaj(); // Wywołanie funkcji
?>

Efekt po uruchomieniu?
Cześć! Miło Cię widzieć 🙂

Jak widzisz, tworzenie i używanie funkcji to kwestia kilku linijek.

Dodawanie parametrów do funkcji

Okej, funkcja przywitaj() była fajna, ale trochę nudna, prawda? Co, jeśli chcemy przywitać konkretną osobę po imieniu?

Do tego właśnie służą parametry — czyli wartości, które przekazujemy funkcji w momencie jej wywołania.

Zobacz przykład:

<?php
function przywitaj($imie) {
    echo "Cześć, $imie! Jak się masz?";
}

przywitaj("Kasia");
przywitaj("Marek");
?>

Efekt:

Cześć, Kasia! Jak się masz?
Cześć, Marek! Jak się masz?

Dzięki parametrom funkcja staje się o wiele bardziej uniwersalna i elastyczna. Możesz też dodać więcej niż jeden parametr:

function obliczSume($a, $b) {
    echo $a + $b;
}

obliczSume(5, 10); // 15

Zwracanie wartości z funkcji (return)

Nie każda funkcja musi coś wyświetlać. Czasami chcemy, żeby funkcja zwróciła wynik, który możemy wykorzystać w dalszej części kodu.
Do tego używamy słowa kluczowego return.

Przykład:

function dodaj($x, $y) {
    return $x + $y;
}

$wynik = dodaj(3, 7);
echo "Wynik dodawania to: $wynik";

Efekt:

Wynik dodawania to: 10

Różnica jest taka, że return nie wyświetla wartości na ekranie, tylko ją zwraca — co daje Ci pełną kontrolę nad tym, co zrobisz z wynikiem.

Domyślne wartości parametrów

Czasami zdarza się, że użytkownik nie poda wszystkich argumentów przy wywołaniu funkcji.
PHP pozwala ustawić wartości domyślne, które zostaną użyte, jeśli nie przekażesz żadnej innej.

Przykład:

function przywitaj($imie = "Gościu") {
    echo "Hej, $imie!";
}

przywitaj();       // Hej, Gościu!
przywitaj("Ania"); // Hej, Ania!

Widzisz, jakie to wygodne?

Typowanie argumentów i zwracanych wartości

W starszych wersjach PHP można było przekazać do funkcji prawie wszystko — i to nie zawsze było dobre.
Dlatego od PHP 7 wprowadzono typowanie parametrów i typy zwracanych wartości, dzięki czemu Twój kod jest bardziej przewidywalny i bezpieczny.

Zobacz przykład:

function pomnóż(int $a, int $b): int {
    return $a * $b;
}

echo pomnóż(3, 4); // 12

Tutaj jasno mówimy PHP: oba parametry muszą być liczbami całkowitymi (int), a funkcja zwróci wartość typu int.
Jeśli spróbujesz przekazać np. tekst, PHP zgłosi błąd — i bardzo dobrze, bo dzięki temu unikniesz dziwnych niespodzianek.

Funkcje anonimowe i funkcje strzałkowe (arrow functions)

W nowszych wersjach PHP (7.4+) pojawiły się funkcje strzałkowe (arrow functions), które pozwalają pisać krótszy kod.
Są świetne, gdy chcesz użyć funkcji „na szybko”, np. w array_map() czy array_filter().

Przykład klasyczny:

$podwajaj = function($liczba) {
    return $liczba * 2;
};

echo $podwajaj(5); // 10

A teraz ten sam efekt za pomocą funkcji strzałkowej:

$podwajaj = fn($liczba) => $liczba * 2;

echo $podwajaj(5); // 10

Prosto, prawda?
Takie funkcje są krótsze i idealne do prostych operacji.

Funkcje rekurencyjne

Czasami funkcja może wywołać samą siebie — to tzw. rekurencja.
Brzmi skomplikowanie, ale w praktyce jest to potężne narzędzie, np. do obliczania silni lub przeglądania zagnieżdżonych struktur danych.

Oto przykład prostej funkcji rekurencyjnej:

function silnia($n) {
    if ($n <= 1) return 1;
    return $n * silnia($n - 1);
}

echo silnia(5); // 120

Jak to działa?
Funkcja silnia(5) wywołuje silnia(4), ta z kolei silnia(3) i tak dalej, aż dojdzie do 1.
PHP wykonuje więc łańcuch wywołań, aż wraca z wynikiem.

Praktyczny przykład — własna funkcja do formatowania tekstu

Załóżmy, że tworzysz bloga i chcesz, żeby każdy tytuł posta automatycznie zaczynał się wielką literą i był pozbawiony zbędnych spacji.
Zamiast pisać to za każdym razem, możesz stworzyć funkcję:

function formatujTytul($tekst) {
    $tekst = trim($tekst);          // usuwa spacje z początku i końca
    $tekst = strtolower($tekst);    // zamienia na małe litery
    $tekst = ucfirst($tekst);       // pierwsza litera wielka
    return $tekst;
}

echo formatujTytul("   PHP to SUPER język!  "); // PHP to super język!

Widzisz? Jedna funkcja, a oszczędza Ci mnóstwo powtarzania kodu.

Funkcje i zakres zmiennych

Ważna sprawa: zmienne utworzone wewnątrz funkcji są widoczne tylko tam.
Nie możesz ich użyć poza funkcją, chyba że użyjesz słowa kluczowego global.

Przykład:

$licznik = 0;

function zwieksz() {
    global $licznik;
    $licznik++;
}

zwieksz();
zwieksz();
echo $licznik; // 2

Choć global działa, lepiej go unikać — zamiast tego lepiej zwracać wartość z funkcji i przekazywać ją dalej.

Najczęstsze błędy przy tworzeniu funkcji

Zanim zakończymy, warto omówić kilka typowych błędów, które popełniają początkujący:

  1. Brak return — funkcja nic nie zwróci, jeśli zapomnisz dodać return.
  2. Zły typ danych — np. przekazujesz tekst zamiast liczby. Używaj typowania!
  3. Zmienna lokalna zamiast globalnej — pamiętaj o zasięgu zmiennych.
  4. Funkcja zbyt skomplikowana — jeśli funkcja robi zbyt wiele rzeczy, podziel ją na mniejsze części.

Bonus: Prosty kalkulator w PHP z funkcjami

Na koniec zróbmy coś praktycznego — mały kalkulator, który wykorzysta kilka funkcji:

<?php
function dodaj($a, $b) {
    return $a + $b;
}

function odejmij($a, $b) {
    return $a - $b;
}

function pomnóż($a, $b) {
    return $a * $b;
}

function podziel($a, $b) {
    if ($b == 0) return "Nie można dzielić przez zero!";
    return $a / $b;
}

// Przykładowe użycie
echo "5 + 3 = " . dodaj(5, 3) . "<br>";
echo "10 - 4 = " . odejmij(10, 4) . "<br>";
echo "6 * 7 = " . pomnóż(6, 7) . "<br>";
echo "8 / 2 = " . podziel(8, 2) . "<br>";
?>

Proste, czytelne i działające. Każda funkcja ma swoje konkretne zadanie — i o to właśnie chodzi w dobrym kodzie PHP.

Tworzenie własnych funkcji w PHP to jedna z najważniejszych umiejętności, jaką powinien opanować każdy programista webowy.
Dzięki funkcjom:

  • upraszczasz kod,
  • unikasz powtórzeń,
  • łatwiej naprawiasz błędy,
  • i piszesz bardziej przejrzyste aplikacje.

Nieważne, czy piszesz prosty skrypt, bloga, czy rozbudowaną aplikację — funkcje to fundament każdego projektu w PHP.

Szukasz taniego i dobrego hostingu dla swojej strony www? - Sprawdź Seohost.pl