Własna funkcja
Ostatnia modyfikacja: 01.06.2021
Do tworzenia nowej funkcji służy słowo kluczowe function
. Następnie podajemy jej nazwę, całość zakańczamy dwoma nawiasami ()
i w klamrach wpisujemy kod do wykonania (nazywany też ciałem funkcji).
<?php
function myFunction() // myFunction to nazwa funkcji
{
// ciało funkcji - instrukcje do wykonania
}
Aby uruchomić funkcję, wystarczy wywołać ją po nazwie, dodając dwa nawiasy - tak jak przy deklaracji. Przykładowo: myFunction();
Uwaga
Pamiętaj, że przy nazwach funkcji nie używamy znaku $
, tak jak ma to miejsce przy zmiennych.
Powróćmy do naszego celu - kalkulatora napisanego z wykorzystaniem funkcji. Zacznijmy najprościej, jak się da: stwórzmy 4 nowe funkcje dla każdej z operacji matematycznych. Być może wszystko będzie napisane trochę na wyrost, ale nie widzę nic złego w takim sposobie nauki na konkretnym przykładzie, nawet jeśli wyjdzie trochę wyolbrzymiony. Rozbudujemy go jeszcze rzecz jasna.
<?php
function operationAddition()
{
echo 8 + 4;
}
function operationSubtraction()
{
echo 8 - 4;
}
function operationMultiplication()
{
echo 8 * 4;
}
function operationDivision()
{
echo 8 / 4;
}
Przyda się jeszcze coś, co będzie uruchamiało daną funkcję, w zależności od wybranego działania. Użyjemy prostego switcha, którego znasz już z poprzednich lekcji.
<?php
$operation = '+';
switch ($operation) {
case '+':
operationAddition();
break;
case '-':
operationSubtraction();
break;
case '*':
operationMultiplication();
break;
case '/':
operationDivision();
break;
}
Po napisaniu i uruchomieniu takiego kodu powinieneś zobaczyć 12 - wynik działania 8 + 4
. switch uruchomił case odpowiedni dla znaku określonego w zmiennej $operation
, po czym wywołana została funkcja operationAddition()
, która wykonała działanie i wyświetliła jego wynik. Jeśli jesteś uważnym czytelnikiem, to pewnie pomyślałeś, że równie dobrze moglibyśmy tutaj zamiast switch
użyć match
. I to prawda, muszę potwierdzić, że masz rację. Możesz przerobić tak swoją wersję, jeśli tylko masz ochotę.
Ćwiczenia
-
Przygotuj własną funkcję o nazwie showHello wyświetlającą napis Hello world.
Komentarze