Functii

PHP | Stefanescu Mihai | 2020-10-11

Functiile, in PHP, sunt asemanatoare cu functiile in alte limbaje de programare. O functie este o portiune de cod, ce accepta unul sau mai multi parametri, proceseaza informatiile date si mai apoi returneaza o valoare.

Am folosit functii chiar si in lectia anterioara (lectia despre fisiere), am folosit functii precum fopen() si fread(). Acestea sunt functii deja scrise, dar PHP ne da posibilitate sa ne scriemsinguri functii.

De fapt, va trebuii sa scrieti propriile functii doar in cazuri foarte specifice pentru PHP deja are o librarie cu peste 1000 de functii si nu trebuie decat sa le apelati.

Crearea unei functii

Este foarte usor sa cream propria noastra functie. Mai jos am sa scriu o  functie care nu face altceva decat sa printeze un mesaj pe ecran atunci cand este apelata.

Atentie: Atunci cand cream o functie folosim cuvantul cheie function si codul acesteia este pus intre acolade ( {si } ).

/* Definire Functie */
function scrieMesaj(){
  echo "Prima mea functie scrisa in PHP!";
}
/* Apelsare Functie */
scrieMesaj();

Functii cu parametri

PHP ne da posibilitatea de a pasa parametri functiei noastre. Puteti pasa unu, doi sau mai multi parametri. In interiorul functiei, acesti parametri functioneaza ca niste variabile.

function adunare($num1, $num2)
{
  $suma = $num1 + $num2;
  echo "Suma este:".$suma;
}
adunare(10, 20);

Paseara argumentelor prin referinta

Este posibil sa pasam argumente prin referinta. Asta inseamna ca valoarea originala a variabilei este manipulata de functie si nu e o copie a acesteia.Mai jos avem doua exemple cum putem face asta:

function plusCinci($num){
   $num += 5;
}

function plusSase(&$num){
   $num += 6;
}
$original = 10;
plusCinci( &$original );
echo "Valoarea originala este $original<br />";
plusSase( $original );
echo "Valoarea originala este $original<br />";

Rrezultatul va fi:

Valoarea originala este 15
Valoarea originala este 21

Returnarea de valori

O functie poate returna o valoare prin intermediul cuvantului cheie return. Acesta opreste executia functiei si returneaza o anumita valoare in locul in care a fost apelata.

Functiile pot returna mai multe valori folosind sintaxa return array(‘a’, ‘b’, ‘c’).

function adunare($num1, $num2){
  $suma = $num1 + $num2;
  return $suma;
}
$valoare_return = adunare(10, 20);
echo "Suma este: $valoare_return";

Setarea de valori default pentru parametrii

Puteti seta valorilor default pentru parametrii functiei astfel incat atunci cand este apelata fara parametrii sa ii folosesasca pe cei default.

function printareText($param = NULL)
{
   print $param;
}
printareText("Asta e un test");
printareText();

Acest cod va scrie decat “Asta e un test” pe ecran, pentru ca a doua oara cand este apelata nu mai are nici-un argument, deci este preluat cel default, adica NULL.

 Apelarea dinamica a functiilor

Este posibil sa apelam dinamic o functie dand-ui unei variabile drept varloare numele acelei functii (sub forma de sir de caractere) si apoi apeland variabila ca pe o functie.

function salut(){
   echo "Salut<br />";
}
$variabila = "salut";
$variabila();

 



Imi place ce faci aici
Daca iti place ce fac aici imi poti cumpara o cafea Buy Me a Coffee at ko-fi.com

Stefanescu Mihai
Programator de ~8 ani, am lucrat la proiecte din mai multe industrstrii, de la eCommerce la telecomunicatii la automatizari. In acest timp am folosi diferite tehnologii, de la PHP, MySQL, PostgreSql, RabbitMq, Redis, Memcached si altele.
       

Get in touch
Pentru nelamuriri, dubii, comentarii si chestii de pe suflet ne putem auzi pe Discord, Reddit sau poti deschide o discutie noua pe forum.

Posteaza un comentariu

Comentarii

Inca nu au fost postate comentarii, fii primul care posteaza un comentariu!

Club-ul este dedicat membrilor si ofera access la mai multe zone ale website-ului.

🗝ïļ Login 🌟 Register

🔖 Bookmarks ⊞
âœĻ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!

🌊ïļ Discord ⊞

Folosim cookie-uri pentru a oferi functionalitatile critice ale aplicatiei Invata-Programare. Folosim cookie-uri si pentru a analiza traficul, pentru care e nevoie de consimtamantul dvs. explicit.

⮆ïļ