Functii

postat acum 4 ani de Stefanescu Mihai in categorie PHP

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();

 

Sunt un tanar programator din Bucuresti ce lucreaza in PHP/Mysql (MySqli/PDO), Laravel, CodeIgniter, MySQL, PostgreSQL, Wordpress, HTML5/CSS3, Sass, Photoshop si multe altele.
Google+ Community Facebook Group
Acest articol a fost mutat de pe vechea platforma.
Pentru orice eroare aparuta la mutare va rog sa ma contactati!

Comentariu postate de minecraft download free la data de 14.05.2019
Hi there i am kavin, its my first occasion to commenting anywhere, when i read this piece of writing i thought i could also create comment due to this good article.
Comentariu postate de how to download minecraft la data de 15.05.2019
That is a really good tip especially to those fresh to the blogosphere. Short but very accurate information… Many thanks for sharing this one. A must read article!
Comentariu postate de calvin klein outlet la data de 16.05.2019
I simply wanted to say thanks once more. I do not know the things that I would've achieved in the absence of those ideas provided by you relating to such field. Previously it was the troublesome condition in my view, but being able to see this skilled avenue you resolved it forced me to leap for fulfillment. I will be happier for this guidance and as well , sincerely hope you really know what a powerful job you are always providing training other individuals thru your site. Probably you've never got to know all of us.
Comentariu postate de download minecraft free la data de 17.05.2019
I read this piece of writing fully about the comparison of latest and earlier technologies, it's amazing article.
Comentariu postate de minecraft download pc la data de 17.05.2019
Hello, i think that i saw you visited my web site thus i came to “return the favor”.I'm trying to find things to enhance my site!I suppose its ok to use a few of your ideas!!