FUNCIONS EN PHP

 

Una de les eines més importants en qualsevol llenguatge de programació són les funcions. Una funció és un conjunt d'instruccions que al llarg del programa van a ser executades multitud de vegades. És per això, que aquest conjunt d'instruccions s'agrupen en una funció. Les funcions poden ser cridades i executades des de qualsevol punt del programa.

A més, una funció pot rebre paràmetres externs dels quals depengui el resultat d'aquesta funció. És a dir, segons el paràmetre o paràmetres amb els que s'invoqui a la funció, aquesta retornarà un resultat o un altre.

Les funcions han d'estar definides abans de fer la crida a la funció (com és lògic).

 

Sintaxi general per declarar una funció en PHP

function nom (paràmetre1, paràmetre2, ..., parámetrEN) {

                               instrucció1

                               instrucció2

                               .

                               .

                               .

                                instruccióN

                }

Per trucar (fer que s'executi) la funció farem servir aquesta sintaxi: nom (par1, par2, Par3, ..., Parn); on par1, par2, Par3, ..., Parn són els paràmetres (informació) que li passem a la funció. Una funció pot necessitar de cap, un o diversos paràmetres per executar-se.

Escriu ara aquest codi i guardeu amb un nom de fitxer com ejemplo1.php. A continuació, puja el fitxer al servidor i visualitza el resultat.

<? Php // Exemple funcions

// Declaració de funcions

funcionar mostrarTexto ($ text) {

echo "<strong> El text a mostrar és el següent: </ strong>" ;

trobo $ text;

}

// Fi de declaració de funcions

mostrarText ( "M'agrada molt la web de aprendReaprogramar.com" );

?>

 

En aquest exemple hem vist com hem definit una funció el nom és mostrarText. Aquesta funció espera un paràmetre quan és invocada (paràmetre que s'ha anomenat $text). Un cop s'executa, la funció executa una sèrie d'instruccions i retorna el control al punt des del qual va ser invocada.

Podem fer diversos comentaris:

a) En alguns llenguatges de programació es distingeixen els termes " procediment "quan un fragment de codi d'aquest tipus executa una sèrie d'instruccions sense retornar un valor, enfront del terme" funció "que s'aplica quan un fragment de codi d'aquest tipus executa una sèrie d'instruccions i retorna un valor. En PHP no es distingeix entre una cosa i una altra, simplement es parla de "funció" en general.

b) En alguns llenguatges de programació com Java el tipatge o especificació de tipus que es van a rebre per part de la funció (o el tipus de dada que va a tornar la funció) és molt més forta. Si et fixes, la funció mostrarTexto rep un paràmetre anomenat $ text, però en cap costat s'especifica si aquest paràmetre és tipus integer, float, double o string. De quin tipus és? Realment no ho sabem: l'intèrpret PHP s'encarrega de automàticament reconèixer el tipus que li passa a la funció. A més, intentarà executar el codi sigui com sigui el tipus del paràmetre passat. Si li resultés impossible executar el codi, tornaria un error.

La utilitat fonamental de les funcions és no haver de repetir parts de codi comuns, que caldria repetir diverses vegades. Aquestes parts de codi comuns s'agrupen en funcions i simplement cridarem a la funció cada vegada que necessitem executar aquest codi. D'aquesta manera, evitem la repetició que fa més llarg i difícil d'entendre un programa o desenvolupament web.

També podem crear funcions que retornin dades (valors concrets). Aquestes funcions, que podríem anomenar "funcions en sentit estricte", són aquelles que executen un codi i com a punt final d'aquest codi inclouen una sentència return seguida del resultat de la funció. La sentència return indica que quan s'arriba s'ha arribat al final de la funció i es torna com a resultat de la mateixa el contingut especificat a continuació del return. Després d'un return pot retornar una variable, un nombre, una cadena de text, etc.

Per exemple return "No disposa de permisos" vol dir que la funció retorna aquesta cadena de text. Un altre exemple: return $ càlcul;indica que la funció retorna el contingut que es trobi emmagatzemat en la variable $calcul. Un altre exemple: return "Malauradament". $usuari. "Però no disposa de permisos. Per a sol·licitar informació pot escriure a". $EmailAdministrador; faria que la funció retorni una cadena de text on intervenen diverses variables.

<? Php // Exemple funcions

function operacions ($n1, $n2, $operacio) {

$resultat = 0;

if($operacio == "Sumar" ) {

$resultat m=$n1+$n2;

}Else if($operacio=="Restar") {

$resultat m=$n1- $n2;

}Else if($operacio=="Multiplicar") {

$resultat m=$n1*$n2;

}

return $resultat; // Retornar el resultat

}

// Trucar a la funció operacions

$r=operacions(5,7,"Sumar");

echo $r . "en" ;

// O podem imprimir directament

echo operacions(15,8,"Restar");

?>

 

Fixa't que a diferència de la funció mostrarText, la funció operacions ens retorna un valor concret, de manera que se substitueix la seva invocació allà on apareix pel valor que retorna. Així, la instrucció echo operacions (15, 8, "Restar"); equival al que seria escriure trobo << aquí el valor retornat per la funció operacions invocada amb els paràmetres 15, 8 i "Restar" >>, és a dir, seria el mateix que escriure echo (15-8); o echo 7;

A més, fixa't que la funció mostrarText requeria un paràmetre, mentre que la funció operacions requereix tres paràmetres. Si invoques la funció sense passar-li el nombre de paràmetres adequat obtindràs un error del tipus << Warning: Missing argument 3 for operacions () >>.

Finalment, tenir en compte que una funció pot ser invocada sense paràmetres.

<? Php // Exemple funcions

functin mostrarTextError{

echo "<strong> S'ha Produït error ONU </strong>" ;

// Aquí poden venir diverses línies d'instruccions

}

?>

Aquesta funció no té paràmetres. Per invocar-escriuríem mostrarTextError(). Cada vegada que realitzéssim la invocació s'executaria el codi dins de la funció. Aquesta funció podem dir que és "tipus procediment" perquè no retorna un resultat (no té sentència return).

 

 

EXERCICI

Crear les següents funcions en PHP i codi per comprovar el seu funcionament:

a) Una funció que rebi cinc números sencers com a paràmetres i mostri per pantalla el resultat de sumar els cinc números (tipus procediment, no hi ha valor retornat).

b) Una funció que rebi cinc números sencers com a paràmetres i retorni el resultat de sumar els cinc números (tipus funció, hi ha un valor retornat). Assigna el resultat d'una invocació a la funció amb els números 2, 5, 1, 8, 10 a una variable de nom $tmp i mostra per pantalla el valor de la variable.

c) Una funció que rebi com a paràmetres el valor del radi de la base i l'altura d'un cilindre i retorni el volum del cilindre, tenint en compte que el volum d'un cilindre es calcula com Volum = númeroPi * ràdio * ràdio * Alçada sent númeroPi = 3.1416 aproximadament.