Podstawy PHP i MySQL
Temat 12 - Funkcje
Powr?t do spisu temat?w


W tym rozdziale:

  1. Definiowanie nowej funkcji
  2. Wykorzystanie przez funkcj? zmiennych deklarowanych poza funkcj?
  3. Wykorzystanie w skrypcie zmiennych deklarowanych wewn?trz funkcji
  4. Efekt dzia?ania funkcji
Funkcje, co to takiego?

Kod, kt?ry cz?sto si? powtarza, możemy zamienić w funkcję, którą wywołamy w każdym miejscu programu, podobnie jak funkcje wbudowane, które do tej pory wykorzystywaliśmy.

Definiowanie i wywołanie nowej funkcji

Funkcji utworzyć można praktycznie w każdym miejscu skryptu. Zaleca si? jednak deklarowanie funkcji w początkowych fazach skryptu. Funkcje wykorzystywane przez wiele skryptów opłaca się umieszczał w plikach zewn?trznych, wczytywanych przez te skrypty. 

function nazwa()
{
   wykonywany kod, gdy funkcja zostanie wywołana;
};

Nazwa funkcji nie może być taka sama, jak funkcji wbudowanych, czyli np. rand, mktime, itd.
Uruchomienie utworzonej funkcji odbywa się dokładnie tak samo, jak uruchomienie funkcji wbudowanej. 

ćwiczenie 12_01 - Definiowanie i wywołanie funkcji

  1. Należy umieścić na swoim koncie WWW plik 12_01.php (do pobrania tutaj 12_01.zip)
  2. Należały uruchomić plik 12_01.php (przez http).
  3. Należy przeanalizował kod skryptu zwracając uwagę na zamieszczone w nim komentarze.

Parametry funkcji

Funkcja jest niejako osobnym organizmem oddzielonym od pozostałej części programu. Kwiat wewnętrzny funkcji jest inny, niż świat panujący wokół niej. Zmienne deklarowane poza funkcją nie są widoczne w jej wnętrzu.

W przykładzie przedstawionym poniżej została zadeklarowana zmienna "kasia", do której odwołuje się funkcja "zosia".


Rys. 12_1 - Odwo?anie się do zmiennej deklarowanej poza funkcją


Rys. 12_1 - efekt działania powyższego skryptu

Jak widać na rysunku 12_1 zosta? wygenerowany komunikat o błędzie - nieznana zmienna "kasia".

Jednym ze sposobów przekazania funkcji zmiennej deklarowanej poza funkcją, jest wpisanie jej jako parametru tej funkcji oraz wywołanie funkcji z podaniem tego parametru. Podając kilka parametrw należy oddzielić je przecinkami.

ćwiczenie 12_02 - Definiowanie i wywołanie funkcji z parametrem

  1. Należy umieściś na swoim koncie WWW plik 12_02.php (do pobrania tutaj 12_02.zip)
  2. Nale?y uruchomić plik 12_02.php (przez http).
  3. Nale?y przeanalizować kod skryptu zwracając uwagę na zamieszczone w nim komentarze.

Podobnie jest ze zmiennym deklarowanymi wewnątrz funkcji. Nie s? one dostępne poza funkcją.

Zwracanie wartości przez funkcje

W powyższych przyk?adach efektem działania funkcji by?o wypisanie w przeglądarce ciągu tekstowego. Funkcja może zwraca? wartość. W tym celu skorzystamy z polecenia return.

?wiczenie 12_03 - Zwracanie wartości przez funkcje

  1. Nale?y umieścić na swoim koncie WWW plik 12_03.php (do pobrania tutaj 12_03.zip)
  2. Należy uruchomi? plik 12_03.php (przez http).
  3. Należy przeanalizować kod skryptu zwracając uwagę na spos?b podawania parametrów funkcji oraz sposób u?ycia polecenia return.

Zmienne globalne i stałe

Kolejnym sposobem przekazania zmiennych deklarowanych wewnątrz funkcji jest zamienienie zmiennej o charakterze lokalnym na zmienną o charakterze globalnym.

ćwiczenie 12_04 - Przekazanie zmiennych z wewnątrz funkcji - zmienne globalne

  1. Należy umieścić na swoim koncie WWW plik 12_04.php (do pobrania tutaj 12_04.zip)
  2. Nale?y uruchomić plik 12_04.php (przez http).
  3. Należy przeanalizować kod skryptu zwracając uwagę na sposób deklarowania zmiennej typu globalnego.

?wiczenie 12_05 - Praktyczne zastosowanie funkcji

  1. Nale?y umie?ci? na swoim koncie WWW plik 12_05.php (do pobrania tutaj 12_05.zip). Skrypt oparty na wcześniej dostarczonym pliku z ćwiczeniem.
  2. Należy uruchomić plik 12_05.php (przez http).
  3. Należy zwrócić uwagę na linie kodu 75 - 109. Zastosowanie funkcji "taknie" pozwoliło skrócić fragment kodu umieszczonego w komentarzu, niespełna o połowę.

Zadanie 14 - Praktyczne zastosowanie funkcji

  1. Należy umieścić na swoim koncie WWW plik zadanie14.php
  2. Należy wykorzystać kod skryptu z pliku 08_02.php.
  3. Należy skrócić (jak tylko można) kod skryptu poprzez zastosowanie funkcji.

Do zapami?tania

  1. Zmienne deklarowane poza funkcji nie s? dost?pne w jej wn?trzu i odwrotnie, deklarowane wewnątrz funkcji nie są dostępne w ca?ym skrypcie.

 


Powrót do spisu tematów