Parametry domyślne i typowanie argumentów

Parametry domyślne i typowanie argumentów w PHP pozwalają pisać funkcje bardziej elastyczne i bezpieczne. Dzięki wartościom domyślnym nie musisz zawsze przekazywać wszystkich parametrów, a typowanie zmniejsza ryzyko błędów, wymuszając konkretne typy danych.


Parametry domyślne i typowanie argumentów

  • Parametry domyślne
    • Ustawiasz wartość w nagłówku funkcji, np. function pokazWiadomosc($tekst = "Domyślna").
    • Jeśli wywołasz funkcję bez przekazania parametru, użyta zostanie ta domyślna wartość.
  • Typowanie argumentów
    • W nowszych wersjach PHP (7+), możesz wskazać typ: function sumuj(int $a, int $b).
    • PHP sprawdzi, czy przekazano właściwy typ (np. liczbę całkowitą). W przeciwnym razie zgłosi błąd.
  • Typ zwracany
    • Możesz również zadeklarować typ zwracanego wyniku, np. function oblicz(float $x, float $y): float.
    • Zwiększa to pewność, że funkcja zawsze zwróci spodziewany rodzaj danych.
Przykład
<?php
// Przykład parametrów domyślnych
function witaj($imie = "Gość") {
  echo "Witaj, $imie!<br>";
}

// Przykład typowania argumentów i zwracanego wyniku
function dodaj(int $a, int $b): int {
  return $a + $b;
}

// Wywołania
witaj();
witaj("Ala");

$wynik = dodaj(5, 10);
echo "Wynik dodawania 5 + 10: $wynik<br>";

// Poniższa linia spowoduje błąd, gdy włączymy strict_types = 1, 
// bo '7' jest stringiem – w trybie normalnym PHP zrobi konwersję.
$wynik2 = dodaj("7", 2);
echo "Wynik dodawania '7' + 2: $wynik2<br>";
?>
Zwrócona zawartość
Witaj, Gość!
Witaj, Ala!
Wynik dodawania 5 + 10: 15
Wynik dodawania '7' + 2: 9

Przykładowe zastosowania param. domyślnych i typowania

  • Funkcje z opcjonalnymi parametrami
    • Możesz definiować np. format daty domyślnie jako "Y-m-d", a wywołujący może podać inny.
  • Zmniejszenie błędów przy typach
    • Gdy oczekujesz liczby całkowitej, int w deklaracji parametru chroni przed błędami typu "abc".
  • Łatwiejsze debugowanie
    • Jeśli funkcja zawsze zwraca float, błędne dane wejściowe szybciej rzucą uwagę programisty.

Podsumowanie

  • Parametry domyślne ułatwiają pisanie funkcji, gdy pewne argumenty są opcjonalne.
  • Typowanie argumentów (i zwracanego wyniku) wprowadza dodatkową kontrolę nad poprawnością danych.
  • Możesz włączyć strict_types na początku pliku, by wymuszać ścisłe sprawdzanie typów.
  • Takie podejście sprawia, że kod w PHP jest bardziej niezawodny i mniej podatny na nieoczekiwane konwersje.