Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Funkcje użytkownika w języku PHP

czwartek,

Funkcje użytkownika w języku PHP

Jak tworzyć własne funkcje w języku PHP?

Funkcja to blok kodu zdefiniowany w jednej lokalizacji i wywoływany w wielu innych miejscach programu. Język PHP zawiera fabryczne funkcje, jednak użytkownik może obok nich tworzyć własne. Materiał porusza jedynie podstawowe zagadnienia związane z funkcjami.

Pierwszy zaprezentowany przykład ma na celu demonstrację użyteczności tej konstrukcji i nie ma konieczności dokładnego zrozumienia, co dokładnie się w nim dzieje. Wystarczy wiedzieć, że funkcja nazywa się date_interval i przyjmuje dwa argumenty, które są datami. Funkcja oblicza odległość między dwoma datami wyrażoną w dniach. Istnieje możliwość pominięcia drugiego argumentu, wtedy odległość liczona jest „od teraz”. Obliczanie takiej odległości „na piechotę” jest trudne, na programistę czyhają problemy związane z latami przestępnymi i zmiennymi ilościami dni w miesiącach, dlatego autor rozwiązania także użył gotowych funkcji, w tym przypadku fabrycznych, których połączenie pozwoliło uzyskać oczekiwany efekt. Kolejne przykłady są już bardziej klasycznymi propozycjami dla początkujących.

<?php
   function date_interval($stop, $start = '') {
	  $start = ($start ? $start : $start = date('Y-m-d'));
	  $int = date_diff(date_create($start), date_create($stop));
   	  return $int->format('%R%a');
   }

// przykładowe wywołania funkcji

   echo date_interval('2020-05-01','2020-01-01');
   echo date_interval('2020-05-01');
?>

Klasycznym przykładem podczas wprowadzania funkcji jest hello_world. Przedstawiony przykład nie wyłamuje się z tej konwencji. Deklaracja funkcji zawiera słowo kluczowe function oraz nadany identyfikator (tutaj hello), tzw. ciało funkcji zawarte jest w nawiasach klamrowych i może składać się z wielu instrukcji. Identyfikator funkcji użytkownika nie może powodować konfliktu ze słowami zarezerwowanymi przez PHP, np. nie jest możliwe zadeklarowanie funkcji o nazwie function lub echo.

<?php
   function hello() {
	 echo 'Hello CKZiU!';
   }

// przykładowe wywołanie

   hello();
?>

Udział wzięli

echo

Kolejna przykładowa funkcja o tajemniczej nazwie kwadrat oblicza wartość przekazanego argumentu podniesionego do potęgi drugiej. W języku PHP istnieje fabryczna funkcja do potęgowania i dlatego prezentowany przykład jest mało użyteczny, jednak jest łatwy do zrozumienia.

<?php
   function kwadrat($a) {
	   echo $a * $a;
   }

// przykładowe wywołania

   kwadrat(4);
   kwadrat(444);
?>

Dobra funkcja powinna mieć możliwie szerokie zastosowanie. Wypływają z tego dwa wnioski. Po pierwsze najczęściej nie powinna być zbyt długa, a dany problem należy rozbić na kilka odrębnych funkcji. Po drugie nie należy wiązać jej z jednym typem zastosowania. Przykładowa funkcja kwadrat zawsze wypisuje wynik obliczeń. A co zrobić, kiedy ma być on wykorzystany do kolejnego działania matematycznego?

Problem rozwiązuje zamiana instrukcji echo na return. W przypadku funkcji, instrukcja return kończy jej działanie (do tego wrócimy w kolejnym materiale) oraz może zwrócić wartość określoną parametrem. Drugie przykładowe wywołanie funkcji kwadrat zostało wykorzystane do policzenia objętości jakiegoś prostopadłościanu.

<?php
   function kwadrat($a) {
	  return $a * $a;
   }

// przykładowe wywołania

   echo kwadrat(4);
   echo kwadrat(4) * 20;
?>

Udział wzięli

return

Funkcja może przyjmować kilka argumentów. Oddzielamy je przecinkiem. Własność tę ilustruje funkcja, która przyjmuje dwa argumenty i oblicza wartość brutto.

<?php
   function brutto($netto, $vat) {
	   return $netto * (1 + $vat/100);
   }

// przykładowe wywołanie

   echo brutto(100,23);
?>

Kolejnym usprawnieniem w przypadku funkcji mogą być parametry domyślne. Zmodyfikowana funkcja brutto domyślnie przyjmuje obowiązującą w Polsce podstawową stawkę podatku od towarów i usług, jednak nie zabrania stosowania innej wartości. Możliwości funkcji brutto zademonstrowano w przykładowych wywołaniach, w przypadku stosowania stawki domyślnej potrzeba mniej kodu. Do tematu wrócimy w kolejnym materiale, ale warto zauważyć, że wartości domyślne dopisujemy od prawej strony ($netto, $vat = 23). Jeśli deklaracja będzie wyglądać odwrotnie ($vat = 23, $netto), nie ma możliwości skorzystania z usprawnienia.

<?php
   function brutto($netto, $vat = 23) {
	  return $netto * (1 + $vat/100);
   }

// przykładowe wywołania

   echo brutto(100,5);
   echo brutto(100);
?>

Podstawowe zalety używania funkcji

  • Zmniejszenie rozmiaru kodu.
  • Możliwość ponownego wykorzystania kodu w innych projektach.
  • Lepsza czytelność kodu.
  • Łatwiejsze zarządzanie kodem.
  • Możliwość z korzystania z „obcego” kodu, oczywiście z zachowaniem zasad jego udostępnienia przez twórcę.
  • Ogólnie zmniejszenie nakładu pracy wymaganego do wykonania aplikacji.
Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Artykuł: PiP i podobne technologie

PiP i podobne technologie

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły