W budowie
Prezentacja modułu

Część 09 · Własne funkcje — kurs PHP INF.03

Część 09 kursu PHP pod kątem INF.03: Własne funkcje. Teoria w skrócie i 16 ćwiczeń z automatycznym sprawdzaniem.

  • 45 min
  • 16 slajdów
  • Notatki nauczyciela: N
  • Strona modułu: otwórz
Plan · 45 min

Co dziś robimy

  1. 12 minDefinicja i wywołanie funkcji Wywołanie to nazwa z nawiasami: wypiszNaglowek(); .
  2. 12 minParametry i wartości domyślne Parametr może mieć wartość domyślną: function cena($kwota, $vat = 0.23) .
  3. 12 minZasięg zmiennych i zwracanie wartości Do modyfikowania zmiennej zewnętrznej służy słowo global , ale w praktyce lepiej zwracać…
  4. 4 minĆwiczenia 16 zadań w module — wybierz 3–4 na lekcję
  5. 5 minPodsumowanie bilet wyjściowy i zadanie domowe
Atom 1 z 4 · ~12 min

Definicja i wywołanie funkcji

Funkcja grupuje kod, który ma się powtarzać. Definicję zaczynamy słowem function , podajemy nazwę i nawiasy, a kod zamykamy w klamrach. Nazwa nie może zaczynać się cyfrą i nie rozróżnia wielkości liter.

  • Wywołanie to nazwa z nawiasami: wypiszNaglowek(); .
  • Funkcja bez parametrów nie przyjmuje żadnych danych, ale nadal może wypisywać treść albo zwracać wynik.
  • Dobrą praktyką jest jedna odpowiedzialność: funkcja albo liczy i zwraca, albo wypisuje.
  • Mieszanie obu utrudnia ponowne użycie kodu.
Kod · atom 1 · ~3 min

Jak to wygląda w kodzie

function powitanie() {
    echo '<p>Witaj w kursie PHP!</p>';
}

function linia() {
    echo '<hr>';
}

powitanie();
linia();
powitanie();
Przykład na żywo · atom 1 · ~3 min

Uruchom i pokaż

function powitanie() {
    echo '<p>Witaj w kursie PHP!</p>';
}

function linia() {
    echo '<hr>';
}

powitanie();
linia();
powitanie();
Sprawdzenie · atom 1 · ~2 min

Pytanie do klasy

Czym zaczynamy definicję funkcji?

Atom 2 z 4 · ~12 min

Parametry i wartości domyślne

Parametry to dane przekazywane do funkcji. W definicji podajemy nazwy zmiennych, a przy wywołaniu wartości: cena(100, 0.23) . Liczba argumentów musi się zgadzać z liczbą parametrów.

  • Parametr może mieć wartość domyślną: function cena($kwota, $vat = 0.23) .
  • Dzięki temu wywołanie z jednym argumentem też zadziała, a domyślna wartość zostanie użyta.
  • Parametry domyślne umieszczamy na końcu listy — inaczej PHP nie wie, który argument pominąć.
  • Typ parametru można dopisać, np.
Kod · atom 2 · ~3 min

Jak to wygląda w kodzie

function brutto($kwota, $vat = 0.23) {
    return $kwota * (1 + $vat);
}

echo brutto(100);
echo '<p>Bez VAT: ' . brutto(100, 0) . '</p>';
echo '<p>Inna stawka: ' . brutto(200, 0.08) . '</p>';
Przykład na żywo · atom 2 · ~3 min

Uruchom i pokaż

function brutto($kwota, $vat = 0.23) {
    return $kwota * (1 + $vat);
}

echo brutto(100);
echo '<p>Bez VAT: ' . brutto(100, 0) . '</p>';
echo '<p>Inna stawka: ' . brutto(200, 0.08) . '</p>';
Sprawdzenie · atom 2 · ~2 min

Pytanie do klasy

Gdzie umieszczamy parametr domyślny?

Atom 3 z 4 · ~12 min

Zasięg zmiennych i zwracanie wartości

Zmienna utworzona w funkcji jest lokalna — poza nią nie istnieje. Zmienna zewnętrzna nie jest widoczna w funkcji, chyba że przekażemy ją parametrem.

  • Do modyfikowania zmiennej zewnętrznej służy słowo global , ale w praktyce lepiej zwracać wynik i przypisywać go na zewnątrz.
  • Kod jest wtedy prostszy do sprawdzenia i testowania.
  • Funkcja może zwrócić tablicę, gdy potrzebnych jest kilka wartości.
  • return kończy działanie funkcji natychmiast — kod po nim się nie wykona.
Kod · atom 3 · ~3 min

Jak to wygląda w kodzie

function statystyki(array $liczby): array {
    return [
        'suma' => array_sum($liczby),
        'srednia' => array_sum($liczby) / max(1, count($liczby)),
        'ile' => count($liczby),
    ];
}

$wynik = statystyki([4, 8, 6]);
echo $wynik['suma'] . ' / ' . $wynik['srednia'];
Przykład na żywo · atom 3 · ~3 min

Uruchom i pokaż

function statystyki(array $liczby): array {
    return [
        'suma' => array_sum($liczby),
        'srednia' => array_sum($liczby) / max(1, count($liczby)),
        'ile' => count($liczby),
    ];
}

$wynik = statystyki([4, 8, 6]);
echo $wynik['suma'] . ' / ' . $wynik['srednia'];
Sprawdzenie · atom 3 · ~2 min

Pytanie do klasy

Jaki zasięg ma zmienna w funkcji?

Zamknięcie · ~3 min

Co zabrać z lekcji

  • Wywołanie to nazwa z nawiasami: wypiszNaglowek(); .
  • Parametr może mieć wartość domyślną: function cena($kwota, $vat = 0.23) .
  • Do modyfikowania zmiennej zewnętrznej służy słowo global , ale w praktyce lepiej zwracać wynik i przypisywać go na zewnątrz.
  • Ćwiczenia
Bilet wyjściowy: Jak zwrócić kilka wartości?
Odpowiedź: b) Tablicą
Hyżyk· Część 09 · Własne funkcje — kurs PHP INF.03 moduł 1 / 1