Beruflich Dokumente
Kultur Dokumente
Es imprescindible respetar En este otro ejemplo veremos las diversas situaciones que pueden plantearse respecto
estrictamente la sintaxis que al ámbito de las variables.
requiere de forma obligatoria los
siguientes elementos:
<?
– La palabra function debe estar # definamos dos variables y asignémosles un valor
escrita en minúsculas. $a=5; $b=47;
# escribamos una funcion a1 y pidámosle que imprima sus valores
– El nombre de la función, que
debe seguir criterios similares a los
function a1(){
de los nombres de variables,
echo "Este es el valor de $a en la función a1: ",$a,"<br>";
aunque en este caso no se
antepone el símbolo $ ni ningún echo "Este es el valor de $b en la función a1: ",$b,"<br>";
otro. }
# hagamos una llamada a la funcion anterior
–Los paréntesis (), incluso cuando # no nos escribirá ningún valor porque esas variables no pertenecen
no contengan nada. # al ámbito de la función y serán consideradas como vacias
# en el ambito de la funcion
– Las llaves de apertura ({) y
a1();
cierre (}) dentro de las cuales se
escribirán las instrucciones # escribamos una nueva función, definamos como global $a
correspondientes a ella. # y comprobemos que ahora si la hemos incluido en el ambito
# de la funcion
function a2(){
Ejecución de la función global $a;
echo "Este es el valor de $a en la función a2: ",$a,"<br>";
Las funciones PHP no se ejecutan echo "Este es el valor de $b en la función a2: ",$b,"<br>";
en tanto no sean invocadas. }
# invoquemos esta nueva funcion y veamos que ahora
Para invocar una función la
# si se visualiza el valor de $a pero no el de $b
sintaxis es la siguiente:
a2();
nombre() # creemos una nueva funcion y ahora modifiquemos dentro de ella
Al ser llamada con esta sintaxis – # ambas variables
desde cualquier script– se function a3(){
ejecutarán las instrucciones global $a;
contenidas en ella. $a +=45;
$b -=348;
Ámbito de las variables echo "Este es nuevo valor de $a en la función a3: ",$a,"<br>";
echo "Este es el valor de $b en la función a3: ",$b,"<br>";
Resumamos lo ya comentado }
cuando tratamos el tema de las
# invoquemos la funcion a3
variables.
a3();
– Las funciones no leen valores de # comprobemos -desde fuera del ámbito de la función
variables definidas fuera de su # que ocurrió con los valores de las variables
ámbito salvo que dentro de la echo "El valor de $a HA CAMBIADO despues de ejecutar a3 es: ",$a,"<br>";
propia función se definan de forma echo "El valor de $b NO HA CAMBIADO despues de ejecutar a3 es: ",
expresa como globales. $b,"<br>";
# probemos que ocurre con una variable superglobal
– Si una función modifica el valor
# veremos que sin ser definida expresamente en a4
de una variable global, el nuevo
valor persiste después de # si pertenece a su ambito y por lo tanto visualizamos su contenido
abandonar la función. function a4(){
print "La superglobales si están: ".$_SERVER['SERVER_NAME']."<br>";
– Si dentro de una función se }
utiliza un nombre de variable # invoquemos esta nueva funcion
idéntico al de otra externa a ella a4();
(sin definirla global) la nueva ?>
variable se inicia con valor nulo y
los eventuales valores que pudiera
ir conteniendo se pierden en el ejemplo66.php
momento en que se acaba su
ejecución.
lo que estará ocurriendo es que el En este ejercicio –ejercicio26.php– utilizaremos una función para construir tablas similares
php.ini del servidor tiene a las que hemos construido en el ejercicio nº 23. Pero incorporaremos una innovación
configurada en Off la directiva: respecto a aquel. Ahora la función debe permitir construir tablas de cualquier dimensión –nº
de filas y/o columnas– y el número de estas habremos de incluirlo en la llamada a esa
allow_call_time_pass_reference
función.
y eso suele ocurrir con algunos
hostings y también con la
configuración por defecto de Otras funciones de usuario
algunas versiones de PHP
anteriores a la que estamos
<? function Encabezado() { ?>
utilizando.
<!-- Hemos abierto la función y cerrado la etiqueta PHP
todo esto es código HTML //-->
Otra forma de definir <HTML>
funciones de usuario <HEAD>
<TITLE>Titulo de mi página</TITLE></HEAD>
Existe otra opción de definición de <BODY BGCOLOR="#FF0000">
funciones de usuario que puede <!-- Esta nueva llamada a PHP
resultar de mucho interés. En este insertando la llave de cierre de la función
caso la función se define en tres indicará a PHP que debe escribir todo lo
bloques: contenido entre la { y esta } //-->
<? } ?>
– Definición de la función, llave
de apertura y cierre del script PHP.
<? function Pie() { ?>
– Contenido de la función <HR>
formado exclusivamente por </BODY>
código HTML, que se escribiría </HTML>
cuando fuera invocada la función <? } ?>
que lo contiene. <!-- Utilizaremos esas dos funciones para
crear una página web. Llamamos a la función Encabezado
– Cierre de la función (llave de
luego escribimos un texto y por ultimo insertamos
cierre) contenido en un script PHP,
es decir, entre las etiquetas de el Pie de página con la función Pie //-->
apertura <? y cierre ?> de PHP. <? Encabezado(); ?>
Este es texto que aparecerá en el cuerpo de la página.
Cuando es invocada una función Está fuera de los scripts de php y será considerado
definida de esta forma –puedes como un texto HTML. Debajo aparecerá la línea horizontal
verlo en el ejemplo– PHP se limita que insertaremos mediante una nueva llamada a la función Pie
a escribir en el documento final los
textos contenidos entre la etiqueta <? Pie(); ?>
de apertura y cierre de la función.