· Sintaxis de Funciones Simples
Una de las herramientas mas importantes en cualquier
lenguaje de programación son las funciones. Una función consiste en un conjunto
de rutinas y acciones que a lo largo del script van a ser ejecutadas multitud
de veces agrupados en una FUNCION y desde cualquier punto del script puede ser
llamada y ejecutada. A su vez, esta función puede recibir parámetros externos
de los cuales dependa el resultado de una función.
Las funciones deben ser colocadas siempre antes de
realizar la llamada a la función (como es lógico). La sintaxis de una función
es la siguiente:
function nombre(parámetros){
instrucciones
de la función
}
para llamar a la función sería de la siguiente forma:
nombre(parámetros)
Un ejemplo para entender el uso de funciones es el
siguiente:
Crearemos una función que realice la suma de dos
números y muestre el resultado
function sumar($sumando1,$sumando2){
$
suma=$sumando1+$sumando2
echo $sumando1."+".$sumando2."=".$suma;
}
sumar(5,6)
Un hecho relevante que cabe destacar es que las
variables que declaremos dentro de la función solo existirán o tendrán dicho
valor dentro de la función.
Existen casos en los cuales no sabemos el número de parámetros
que le pasaremos a la función y en estos casos debemos usar las funciones
creadas al efecto como son:
func_num_args() Numero de parámetros que se le han
pasado a la función
func_get_args() Devuelve un elemento de los que forman
la lista de argumentos
· Funciones con Argumentos por Valor y Referencia
Retorno por
Referencia
Una función también puede retornar una referencia de
una variable que tenga en su ámbito, para lograr esto el operador &, debe
estar presente en el nombre de la función y en la asignación.
Nota: para que los desconocen 'static', en el ámbito
de funciones hace que la variable se inicialice en la primera invocación de la
función.
Ejemplo:
Código :
<?php
function
&unaFuncion()
{
static
$var =0;
echo
"var: ";
var_dump($var);
return
$var;
}
$alias =&
unaFuncion();
echo
"alias: ";
var_dump($alias);
$alias++;
unaFuncion();
echo
"alias: ";
var_dump($alias);
?>
Salida:
var: int(0);
alias: int(0);
var: int(1);
alias: int(1);
Parámetros por
referencia
Los parámetros, es un poco 'diferente' que las
funciones. Puesto que, el operador (&) puede estar en la definición del
parámetro de la función, o en la invocación de la función y pasar una variable
por referencia como parámetro.
Ejemplo:
Código :
<?php
function
miFuncion (&$a)
{
return ++$a;
}
function otraFuncion ($a)
{
return
++$a;
}
$param = 0;
echo
'miFuncion($param): ';
miFuncion($param);
var_dump($param);
$variable =
0;
echo
'otraFuncion(&$variable): ';
otraFuncion(&$variable);
var_dump($variable);
?>
Salida:
miFuncion($param): int(1)
otraFuncion($variable): int(1)
En verdad, no es que haya dos formas. Solo en la
primera función (miFuncion) existe parámetro por referencia; en la segunda, en
verdad, es como si hiciéramos $a =& $variable.
Nota: cuando un parámetro es definido por referencia,
solo puedes pasarle variables, constantes NO. Así que miFuncion(1); provocaría
un error fatal.
· Incluir Archivos en PHP
o Include
La sentencia include incluye y evalúa el archivo
especificado.
La siguiente documentación también se aplica a
require.
Los archivos son incluidos con base en la ruta de
acceso dada o, si ninguna es dada, el include_path especificado. Si el archivo
no se encuentra en el include_path, include finalmente verificará en el propio
directorio del script que hace el llamado y en el directorio de trabajo actual,
antes de fallar. El constructor include emitirá una advertencia si no puede
encontrar un archivo, éste es un comportamiento diferente al de require, el
cual emitirá un error fatal..
Si una ruta es definida — ya sea absoluta (comenzando
con una letra de unidad o \ en Windows o / en sistemas Unix/Linux) o relativa
al directorio actual (comenzando con . o ..) — el include_path será ignorado
por completo. Por ejemplo, si un nombre de archivo comienza con ../, el
interprete buscará en el directorio padre para encontrar el archivo solicitado.
Para más información sobre como PHP maneja la
inclusión de archivos y la ruta de accesos para incluir, ver la documentación
de include_path.
Cuando se incluye un archivo, el código que contiene
hereda el ámbito de las variables de la línea en la cual ocurre la inclusión.
Cualquier variable disponible en esa línea del archivo que hace el llamado,
estará disponible en el archivo llamado, desde ese punto en adelante. Sin
embargo, todas las funciones y clases definidas en el archivo incluido tienen
el ámbito global.
Ejemplo #1 Ejemplo básico de include
vars.php
<?php
$color = 'verde';
$fruta = 'manzana';
?>
test.php
<?php
echo "Una $fruta $color"; // Una
include 'vars.php';
echo "Una $fruta $color"; // Una manzana
verde
?>
Si la inclusión ocurre al interior de una función
dentro del archivo que hace el llamado, entonces todo el código contenido en el
archivo llamado se comportará como si hubiera sido definida dentro de esa
función. Por lo tanto, seguirá el ámbito de las variables de esa función. Una
excepción a esta regla son las constantes mágicas las cuales son evaluadas por
el intérprete antes que ocurra la inclusión.
o Require
require es idéntico a include excepto que en caso de
fallo producirá un error fatal de nivel E_COMPILE_ERROR. En otras palabras,
éste detiene el script mientras que include sólo emitirá una advertencia
(E_WARNING) lo cual permite continuar el script.
No hay comentarios:
Publicar un comentario