dilluns, 10 de març del 2014

Funcions a PHP


Les funcions són conjunt d’accions i rutines agrupades que poden ser cridades n vegades des de qualsevol punt del programa
  • Facilita la reutilització de codi 
  • Facilita entendre el codi més fàcilment 
  • Minimitza els errors. 
  • Permet el treball en equip 
  • Les funcions poden tenir o no paràmetres 
  • Si retornen un valor se les anomena funcions i si no retornen valors, s’anomenen procedures o accions. (hi ha llenguatges de programació que no distingueixen entre funcions i accions). 
  • S’han de definir abans de cridar a les funcions, normalment a les capçaleres del programa.


La sintaxi d’una funció/acció en php és:
     function nom(paràmetres){
           instruccions de la funció;
     return valor de retorn;
   } 

Per cridar a la funció la sintaxi seria:

nom(paràmetres);

Així doncs podem dir que l'estructura d'una funció és la següent:

<?phpfunction foo($arg_1$arg_2/* ..., */ $arg_n)
{
    echo 
"Función de ejemplo.\n";
    return 
$valor_devuelto;
}
?>



 
Exemple:
function sumar($sumando1,$sumando2){
$ suma=$sumando1+$sumando2 ;
echo $sumando1."+".$sumando2."=".$suma;
}

sumar(5,6) 

Exemples:

function sumar($variable1, $variable2)
{
$total=$variable1+$variable2;
echo "$total <br>";
}
sumar(5,6);


Exemples:

function sumar($variable1, $variable2)
{
$total=$variable1+$variable2;
return $total;
}
$valor1=sumar(5,6);
echo "$valor1 <br>“; 


Els noms de les funcions no són case-sensitive, però s'aconsella escriure en minúscula

Els noms de les funcions segueixen les mateixes regles que les altres etiquetes de PHP. Un nom de funció vàlid comença amb una lletra o guió baix, seguit de qualsevol nombre de lletres, nombres o subratllats. Com a expressió regular s'expressaria així: [a-zA-Z_ \ x7f- \ xff] [a-zA-Z0-9_ \ x7f- \ xff] *.
 
Totes les funcions i classes de PHP té àmbit global. Es poden trucar des de fora d'una funció fins i tot si van ser definides dins, i viceversa.
PHP no admet la sobrecàrrega de funcions, ni és possible 'desdefinir' ni redefinir funcions prèviament declarades.
 
Arguments de les funcions
 
PHP admet el pas d'arguments per valor (el predeterminat), el pas per referència, i valors d'arguments predeterminats. Les Llistes d'arguments de longitud variable també estan suportades. .
 
Por defecto, los argumentos de las funciones son pasados por valor (así, si el valor del argumento dentro de la función cambia, este no cambia fuera de la función). 
 
Para permitir a una función modificar sus argumentos, éstos deben pasarse por referencia.

Para hacer que un argumento a una función sea siempre pasado por referencia hay que anteponer al nombre del argumento el signo 'et' (&) en la definición de la función.
 
Return
 
Els valors són retornats usant la sentència opcional return. Es pot retornar qualsevol tipus, inclosos arrays i objectes. Això causa que la funció finalitzi la seva execució immediatament i passi el control de nou a la línia des de la qual va ser cridada. Vegeu return per a més informació.
 
Si no poses return, torna NULL
 
Més informació
 
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 seria necessari repetir diverses vegades. Aquestes parts de codi comuns s'agrupen en funcions i simplement anomenarem 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 denominar "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.
 

Cap comentari:

Publica un comentari a l'entrada