SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
Funciones de usuario


¿Qué son las
                                        Funciones de usuario
funciones de usuario?                      Imaginémonos, allá por el mes de junio, sentados ante una mesa tratando de hacer la
                                        declaración de la renta. Para ese menester seguramente nos pertrecharíamos –además del
De igual forma que ocurre con el        impreso oficial de la declaración– con: calculadora, lápiz, goma de borrar e incluso con las
navegador en el caso del HTML,          disposiciones legales relativas al impuesto.
PHP lee e interpreta las
instrucciones contenidas en los           Seguramente iríamos leyendo y cumplimentando el impreso oficial –script PHP–
scripts de forma secuencial.            partiendo de la primera página –orden secuencial– y continuando de forma ordenada
                                        hasta el final.
Es decir, las instrucciones se van
ejecutando en el mismo orden en
                                           La calculadora, la goma, etcétera –funciones– estarían disponibles para ser utilizadas –
el que aparecen en el documento
original, con la excepción de las       invocadas– tantas veces como fuera preciso y, además, no serían elementos exclusivos
funciones.                              de ese documento, sino que seguirían disponibles para otros usos –scripts– distintos, tales
                                        como la planificación financiera de nuestras vacaciones, por citar un ejemplo.
En este caso, los bloques de
instrucciones son puestos a                Las funciones de usuario son, como la calculadora o la goma, herramientas
disposición de PHP, pero no se          diseñadas para facilitar las tareas y susceptibles de ser usadas en una o varias situaciones –
ejecutarán hasta el momento en          scripts– diferentes.
que sean requeridas de forma
expresa.                                Ejemplos de funciones de usuario
¿Dónde                                     Con este primer ejemplo obtendremos una página en blanco. El script contiene una
deben insertarse?                       función pero no hay ninguna instrucción que la invoque y por lo tanto no se ejecutaría.

Aunque en versiones antiguas de          <?
PHP era necesario definir la             function a1(){
función antes de invocarla, a partir
de la versión 4 no es necesaria               for($i=1;$i<=10;$i++){
esa organización secuencial.                           echo $i,"<br>";
                                                       }
La función pueden estar escrita
dentro de cualquier script y en          }
cualquier parte del documento, sin       ?>
que tenga importancia alguna el
lugar en el que se incluya la
llamada a la misma.
                                                                          ejemplo64.php

También es posible –y bastante
habitual– incluir funciones de uso       <?
frecuente en documentos externos         a1();
de modo que pueden ser                   ?>
compartidas.                             <!-- Hemos escrito un script con una llamada
En este caso, además de invocarla
                                               a la función a1 que aún no está definida.
es necesario indicar a PHP el lugar                Tendremos que hacerlo, pero no importa
donde debe buscarla. Hablaremos                    la parte del documento en la que lo hagamos
de ello cuando estudiemos lo                       La pondremos en este nuevo script PHP   //-->
relativo a include.
                                         <?
                                         function a1(){
Definición de la función
                                            for($i=1;$i<=10;$i++){
                                                     echo $i,"<br>";
Las funciones de usuario requieren                   }
la siguiente sintaxis:
                                         }
function nombre(){                       ?>
.....
... instrucciones ...
.....
                                                                          ejemplo65.php
}

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.

Asignación de valores a                <?
                                       $a=-13; $b=7482; $c="Ambrosio";
variables
                                       # esta es una forma alternativa de asignar valores a una variable
A las variables no globales se les     # del ambito de la función
pueden asignar sus valores             function a1($a=56, $b=25){
iniciales de dos formas:               echo "El valor de $$a en la función a1: ", $a,"<br>";
                                       echo "El valor de $$b en la función a1: ", $b,"<br>";
• Incluyéndolas en una línea de        }
instrucciones contenida en la          a1();
propia función.
                                       echo "El valor de $a despues de ejecutar la función es: ",$a,"<br><br>";
• Insertando los nombres de
variable y sus valores dentro del
paréntesis que –de forma
obligatoria– debe seguir al nombre     # Pasando valores desde la llamada a la función #
de la función. En este caso la         /* Definamos una función fun1 e incluyamos dentro de su paréntesis
sintaxis sería:                        nombres de variables, separados por comas pero ahora sin asignarles
                                       ningún valor */
function nom ($a=v1,$b=v2)
                                       function fun1($x,$y,$z){
donde $a y $b son nombres de                   print "Valor de la variable x: ".$x."<br>";
variables a utilizar en el ámbito de           print "Valor de la variable y: ".$y."<br>";
la función y v1 y v2 los valores               print "Valor de la variable z: ".$z."<br>";
asignados a cada una de ellas.         }
En este paréntesis pueden incluirse
–separándolas con comas–
cuantas parejas var = val sean
necesarias.                            # debemos hacer la llamada a la función pero ahora
                                       # lo haremos de forma distinta.
• Una forma alternativa a la           # Vamos a incluir en la llamada
anterior sería la siguiente:           # los valores que queremos asignar a las variables de la función
                                       # Escribiremos dentro del paréntesis de la llamada
function nom ($a,$b)                   # los valores de cada una de las tres variables
donde habría que asignar los           # separados por comas
valores de cada una de la variables    # (si se trata de una cadena, pongámosla entre comillas)
desde la llamada a la función, que     # y veremos con la función recoge esos valores asignados
ahora tendría esta sintaxis:           #en la llamada

nombre (valor1, valor2,...);           fun1(14,"Robustiano",23.4);
                                       /* si esta llamada contuviera más de tres valores
en la que se escriben los valores
separados por comas, y                    los ultimos serian ignorados */
encerrados entre comillas cuando       fun1(49.3,"Eustaquio",78,"Lupicio",456);
se trata de variables alfanuméricas.   # si contuviera menos de tres valores
                                       # PHP nos daría un mensaje de error
Si el número de valores contenidos     # advirtiendo que falta un valor
en la llamada fuera mayor que el       # pero nos devolvería los valores
número de variables definidas en       fun1("Desiderio","Bailador");
la función, los excedentes serían
ignorados y, si fuera inferior, se
                                       # esos mensajes de error podríamos evitarlos
asignaría valor nulo a las variables
a las que no se transfiriera ningún    # poniendo una arroba delante de la llamada a la función
valor.                                 @fun1("Nuevo Desiderio","Nuevo Bailador");

• También es posible incluir en la
llamada a la función los nombres       # tambien podría utilizarse una sintaxis como esta
de algunas variables definidas en      # en la que dejamos en blanco (entre comillas)
el ámbito externo a la función. Se     # el espacio correspondiente al segundo valor
haría de la siguiente forma:           # aunque si incluimos las comas.
nombre ($var1, var2,...);              # La variable que ocupa esa posición
                                       # sería considerada como nula
                                       fun1("La luna",'',"verde");
Pasar por referencia
                                       # también podríamos incluir en la llamada nombres de variables
Tal como hemos visto, las              # definidas en el ámbito general del sript
# un este caso la función usaria esos valores
funciones PHP pueden recibir
valores de variables externas y
utilizar esos valores sin que el         fun1($a,$b,$c);
valor original de las mismas –salvo
que se les asigne la condición de        ?>
globales dentro de la función–
sufra modificación.
                                                                          ejemplo67.php
Una manera de lograr que los
valores una variable externa
puedan ser modificados por una           <? $a=3; $b=2;
función, es lo que se llama en           function a1(&$a,$b){
argot informático «pasar variables            $a=pow($a,2);
por referencia».
                                              $b=pow($b,3);
La forma de hacerlo es esta:             echo "El cuadrado de a dentro de la función es: ",$a, "<br>";
                                         echo "El cubo de b dentro de la función es: ",$b, "<br><br>";
Hay que anteponer al nombre de           }
la variable el símbolo & y PHP
interpretará que la estamos              a1($a,$b);
pasando por referencia.

El & puede anteponerse tanto en
                                         echo "Al salir de la función a conserva la modificación: ",$a, "<br>";
la definición de la función como en      echo "Por el contrario, b no la conserva: ",$b, "<br><br>";
la llamada a la función, tal como
puedes ver en el ejemplo.                $c=8; $d=12;
                                         function b1($a,$b){
La segunda de las opciones nos                $a=pow($a,2);
concede mayor libertad dado que               $b=pow($b,3);
permite usar una sola función y          echo "El cuadrado de a dentro de la función es: ",$a, "<br>";
decidir en cada llamada la forma
                                         echo "El cubo de b dentro de la función es: ",$b, "<br><br>";
de pasar los parámetros.
                                         }
¡Cuidado!
                                         b1(&$c,$d);
Si tratas de ejecutar una función
en la que colocas el & en la             echo "Al salir de la función c conserva la modificación: ",$c, "<br>";
llamada a la función y te aparece        echo "Por el contrario, d no la conserva: ",$d, "<br><br>";
un mensaje como este:
                                         ?>
«Warning: Call-time pass-by-
reference has been deprecated -
argument passed by value; If you
would like to pass it by reference,
modify the declaration of function
(). If you would like to enable call-                                     ejemplo68.php
time pass-by-reference, you can
set
allow_call_time_pass_reference to
                                          Ejercicio nº 26
true in your INI file».

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.

Las funciones de esta forma son
                                                                          ejemplo68a.php
particularmente útiles para la
construcción de espacios web que
contienen una serie de páginas en                  Anterior                          Indice                         Siguiente
las que se repiten las mismas
estructuras.
49 Php. Funciones De Usuario

Más contenido relacionado

La actualidad más candente (20)

Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
OPERADORES PARA C++
OPERADORES PARA C++OPERADORES PARA C++
OPERADORES PARA C++
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinas
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinas
 
19 Php. Utilizando Formularios
19 Php. Utilizando Formularios19 Php. Utilizando Formularios
19 Php. Utilizando Formularios
 
PresentacióN 4
PresentacióN 4PresentacióN 4
PresentacióN 4
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
44777047 oracle
44777047 oracle44777047 oracle
44777047 oracle
 
Taller de PHP Básico
Taller de PHP BásicoTaller de PHP Básico
Taller de PHP Básico
 
Php basico
Php basicoPhp basico
Php basico
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 
PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02
 
Funcion printf
Funcion printfFuncion printf
Funcion printf
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
 
17 Php. Otras Variables
17 Php. Otras Variables17 Php. Otras Variables
17 Php. Otras Variables
 

Destacado

Habitos que danan_el_cerebro_y_la_salud
Habitos que danan_el_cerebro_y_la_saludHabitos que danan_el_cerebro_y_la_salud
Habitos que danan_el_cerebro_y_la_saludjchazu
 
ABALAR-LIM-PREZI
ABALAR-LIM-PREZIABALAR-LIM-PREZI
ABALAR-LIM-PREZIFiz
 
Calentamiento global, cambio climático y capitalismo.
Calentamiento global, cambio climático y capitalismo.Calentamiento global, cambio climático y capitalismo.
Calentamiento global, cambio climático y capitalismo.chinocarias
 
Peligros y politicas con el uso de las tic
Peligros y politicas con el uso de las ticPeligros y politicas con el uso de las tic
Peligros y politicas con el uso de las ticluzmymu
 
Pulso 7
Pulso 7Pulso 7
Pulso 7vjgaby
 
Utilització de canals multimèdia per l’empresa
Utilització de canals multimèdia per l’empresaUtilització de canals multimèdia per l’empresa
Utilització de canals multimèdia per l’empresaFundació CATIC
 
Ley 527 colombia
Ley 527 colombiaLey 527 colombia
Ley 527 colombiaSamPinilla
 
Soy poeta y payador
Soy poeta y payadorSoy poeta y payador
Soy poeta y payadorcalulara
 
Presentación mª del castillo garcia romero 2º bto
Presentación mª del castillo garcia romero 2º btoPresentación mª del castillo garcia romero 2º bto
Presentación mª del castillo garcia romero 2º btodoloresvidalreligion
 
Induccion otono2012
Induccion otono2012Induccion otono2012
Induccion otono2012CIRIA UDLAP
 
Lazarillo primera-novela-moderna-1234969422116094-1
Lazarillo primera-novela-moderna-1234969422116094-1Lazarillo primera-novela-moderna-1234969422116094-1
Lazarillo primera-novela-moderna-1234969422116094-1nidree
 
Actividad en coordinación
Actividad en coordinaciónActividad en coordinación
Actividad en coordinaciónmalaclau
 

Destacado (20)

Deber1
Deber1Deber1
Deber1
 
Polopos magazine
Polopos magazinePolopos magazine
Polopos magazine
 
Habitos que danan_el_cerebro_y_la_salud
Habitos que danan_el_cerebro_y_la_saludHabitos que danan_el_cerebro_y_la_salud
Habitos que danan_el_cerebro_y_la_salud
 
ABALAR-LIM-PREZI
ABALAR-LIM-PREZIABALAR-LIM-PREZI
ABALAR-LIM-PREZI
 
Estres laboral
Estres laboralEstres laboral
Estres laboral
 
Calentamiento global, cambio climático y capitalismo.
Calentamiento global, cambio climático y capitalismo.Calentamiento global, cambio climático y capitalismo.
Calentamiento global, cambio climático y capitalismo.
 
Barribook tv
Barribook tvBarribook tv
Barribook tv
 
Peligros y politicas con el uso de las tic
Peligros y politicas con el uso de las ticPeligros y politicas con el uso de las tic
Peligros y politicas con el uso de las tic
 
Pulso 7
Pulso 7Pulso 7
Pulso 7
 
Utilització de canals multimèdia per l’empresa
Utilització de canals multimèdia per l’empresaUtilització de canals multimèdia per l’empresa
Utilització de canals multimèdia per l’empresa
 
8704 A
8704 A8704 A
8704 A
 
Ley 527 colombia
Ley 527 colombiaLey 527 colombia
Ley 527 colombia
 
Soy poeta y payador
Soy poeta y payadorSoy poeta y payador
Soy poeta y payador
 
Reputació online c2
Reputació online c2Reputació online c2
Reputació online c2
 
Presentación mª del castillo garcia romero 2º bto
Presentación mª del castillo garcia romero 2º btoPresentación mª del castillo garcia romero 2º bto
Presentación mª del castillo garcia romero 2º bto
 
Imagina
ImaginaImagina
Imagina
 
Induccion otono2012
Induccion otono2012Induccion otono2012
Induccion otono2012
 
Foursquare cfi
Foursquare cfiFoursquare cfi
Foursquare cfi
 
Lazarillo primera-novela-moderna-1234969422116094-1
Lazarillo primera-novela-moderna-1234969422116094-1Lazarillo primera-novela-moderna-1234969422116094-1
Lazarillo primera-novela-moderna-1234969422116094-1
 
Actividad en coordinación
Actividad en coordinaciónActividad en coordinación
Actividad en coordinación
 

Similar a 49 Php. Funciones De Usuario

Similar a 49 Php. Funciones De Usuario (20)

50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores
 
Programacion en bash
Programacion en bashProgramacion en bash
Programacion en bash
 
vectores y matrices
vectores y matricesvectores y matrices
vectores y matrices
 
Funciones con vectores y matrices1
Funciones con vectores y matrices1Funciones con vectores y matrices1
Funciones con vectores y matrices1
 
Guia poo
Guia pooGuia poo
Guia poo
 
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
 
Practicawebdelasesion3
Practicawebdelasesion3Practicawebdelasesion3
Practicawebdelasesion3
 
Presentacion capitulo 6
Presentacion capitulo 6Presentacion capitulo 6
Presentacion capitulo 6
 
Php basico
Php basicoPhp basico
Php basico
 
Tutorial de php
Tutorial de phpTutorial de php
Tutorial de php
 
Script presentacion
Script presentacionScript presentacion
Script presentacion
 
4072954.ppt
4072954.ppt4072954.ppt
4072954.ppt
 
Php funciones en detalle
Php   funciones en detallePhp   funciones en detalle
Php funciones en detalle
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
 
Curso php-my sql-clase-4
Curso php-my sql-clase-4Curso php-my sql-clase-4
Curso php-my sql-clase-4
 
Perl3 subrutinas
Perl3 subrutinasPerl3 subrutinas
Perl3 subrutinas
 
Clase 5 funciones en javaScript
Clase 5 funciones en javaScriptClase 5 funciones en javaScript
Clase 5 funciones en javaScript
 
minas
minas minas
minas
 
Programación de codigos de php
Programación de codigos de phpProgramación de codigos de php
Programación de codigos de php
 

Más de José M. Padilla

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTJosé M. Padilla
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0José M. Padilla
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busquedaJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionJosé M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20José M. Padilla
 

Más de José M. Padilla (20)

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 

Último

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (12)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

49 Php. Funciones De Usuario

  • 1. Funciones de usuario ¿Qué son las Funciones de usuario funciones de usuario? Imaginémonos, allá por el mes de junio, sentados ante una mesa tratando de hacer la declaración de la renta. Para ese menester seguramente nos pertrecharíamos –además del De igual forma que ocurre con el impreso oficial de la declaración– con: calculadora, lápiz, goma de borrar e incluso con las navegador en el caso del HTML, disposiciones legales relativas al impuesto. PHP lee e interpreta las instrucciones contenidas en los Seguramente iríamos leyendo y cumplimentando el impreso oficial –script PHP– scripts de forma secuencial. partiendo de la primera página –orden secuencial– y continuando de forma ordenada hasta el final. Es decir, las instrucciones se van ejecutando en el mismo orden en La calculadora, la goma, etcétera –funciones– estarían disponibles para ser utilizadas – el que aparecen en el documento original, con la excepción de las invocadas– tantas veces como fuera preciso y, además, no serían elementos exclusivos funciones. de ese documento, sino que seguirían disponibles para otros usos –scripts– distintos, tales como la planificación financiera de nuestras vacaciones, por citar un ejemplo. En este caso, los bloques de instrucciones son puestos a Las funciones de usuario son, como la calculadora o la goma, herramientas disposición de PHP, pero no se diseñadas para facilitar las tareas y susceptibles de ser usadas en una o varias situaciones – ejecutarán hasta el momento en scripts– diferentes. que sean requeridas de forma expresa. Ejemplos de funciones de usuario ¿Dónde Con este primer ejemplo obtendremos una página en blanco. El script contiene una deben insertarse? función pero no hay ninguna instrucción que la invoque y por lo tanto no se ejecutaría. Aunque en versiones antiguas de <? PHP era necesario definir la function a1(){ función antes de invocarla, a partir de la versión 4 no es necesaria for($i=1;$i<=10;$i++){ esa organización secuencial. echo $i,"<br>"; } La función pueden estar escrita dentro de cualquier script y en } cualquier parte del documento, sin ?> que tenga importancia alguna el lugar en el que se incluya la llamada a la misma. ejemplo64.php También es posible –y bastante habitual– incluir funciones de uso <? frecuente en documentos externos a1(); de modo que pueden ser ?> compartidas. <!-- Hemos escrito un script con una llamada En este caso, además de invocarla a la función a1 que aún no está definida. es necesario indicar a PHP el lugar Tendremos que hacerlo, pero no importa donde debe buscarla. Hablaremos la parte del documento en la que lo hagamos de ello cuando estudiemos lo La pondremos en este nuevo script PHP //--> relativo a include. <? function a1(){ Definición de la función for($i=1;$i<=10;$i++){ echo $i,"<br>"; Las funciones de usuario requieren } la siguiente sintaxis: } function nombre(){ ?> ..... ... instrucciones ... ..... ejemplo65.php } 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:
  • 2. 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. Asignación de valores a <? $a=-13; $b=7482; $c="Ambrosio"; variables # esta es una forma alternativa de asignar valores a una variable A las variables no globales se les # del ambito de la función pueden asignar sus valores function a1($a=56, $b=25){ iniciales de dos formas: echo "El valor de $$a en la función a1: ", $a,"<br>"; echo "El valor de $$b en la función a1: ", $b,"<br>"; • Incluyéndolas en una línea de } instrucciones contenida en la a1(); propia función. echo "El valor de $a despues de ejecutar la función es: ",$a,"<br><br>"; • Insertando los nombres de variable y sus valores dentro del paréntesis que –de forma obligatoria– debe seguir al nombre # Pasando valores desde la llamada a la función # de la función. En este caso la /* Definamos una función fun1 e incluyamos dentro de su paréntesis sintaxis sería: nombres de variables, separados por comas pero ahora sin asignarles ningún valor */ function nom ($a=v1,$b=v2) function fun1($x,$y,$z){ donde $a y $b son nombres de print "Valor de la variable x: ".$x."<br>"; variables a utilizar en el ámbito de print "Valor de la variable y: ".$y."<br>"; la función y v1 y v2 los valores print "Valor de la variable z: ".$z."<br>"; asignados a cada una de ellas. } En este paréntesis pueden incluirse –separándolas con comas– cuantas parejas var = val sean necesarias. # debemos hacer la llamada a la función pero ahora # lo haremos de forma distinta. • Una forma alternativa a la # Vamos a incluir en la llamada anterior sería la siguiente: # los valores que queremos asignar a las variables de la función # Escribiremos dentro del paréntesis de la llamada function nom ($a,$b) # los valores de cada una de las tres variables donde habría que asignar los # separados por comas valores de cada una de la variables # (si se trata de una cadena, pongámosla entre comillas) desde la llamada a la función, que # y veremos con la función recoge esos valores asignados ahora tendría esta sintaxis: #en la llamada nombre (valor1, valor2,...); fun1(14,"Robustiano",23.4); /* si esta llamada contuviera más de tres valores en la que se escriben los valores separados por comas, y los ultimos serian ignorados */ encerrados entre comillas cuando fun1(49.3,"Eustaquio",78,"Lupicio",456); se trata de variables alfanuméricas. # si contuviera menos de tres valores # PHP nos daría un mensaje de error Si el número de valores contenidos # advirtiendo que falta un valor en la llamada fuera mayor que el # pero nos devolvería los valores número de variables definidas en fun1("Desiderio","Bailador"); la función, los excedentes serían ignorados y, si fuera inferior, se # esos mensajes de error podríamos evitarlos asignaría valor nulo a las variables a las que no se transfiriera ningún # poniendo una arroba delante de la llamada a la función valor. @fun1("Nuevo Desiderio","Nuevo Bailador"); • También es posible incluir en la llamada a la función los nombres # tambien podría utilizarse una sintaxis como esta de algunas variables definidas en # en la que dejamos en blanco (entre comillas) el ámbito externo a la función. Se # el espacio correspondiente al segundo valor haría de la siguiente forma: # aunque si incluimos las comas. nombre ($var1, var2,...); # La variable que ocupa esa posición # sería considerada como nula fun1("La luna",'',"verde"); Pasar por referencia # también podríamos incluir en la llamada nombres de variables Tal como hemos visto, las # definidas en el ámbito general del sript
  • 3. # un este caso la función usaria esos valores funciones PHP pueden recibir valores de variables externas y utilizar esos valores sin que el fun1($a,$b,$c); valor original de las mismas –salvo que se les asigne la condición de ?> globales dentro de la función– sufra modificación. ejemplo67.php Una manera de lograr que los valores una variable externa puedan ser modificados por una <? $a=3; $b=2; función, es lo que se llama en function a1(&$a,$b){ argot informático «pasar variables $a=pow($a,2); por referencia». $b=pow($b,3); La forma de hacerlo es esta: echo "El cuadrado de a dentro de la función es: ",$a, "<br>"; echo "El cubo de b dentro de la función es: ",$b, "<br><br>"; Hay que anteponer al nombre de } la variable el símbolo & y PHP interpretará que la estamos a1($a,$b); pasando por referencia. El & puede anteponerse tanto en echo "Al salir de la función a conserva la modificación: ",$a, "<br>"; la definición de la función como en echo "Por el contrario, b no la conserva: ",$b, "<br><br>"; la llamada a la función, tal como puedes ver en el ejemplo. $c=8; $d=12; function b1($a,$b){ La segunda de las opciones nos $a=pow($a,2); concede mayor libertad dado que $b=pow($b,3); permite usar una sola función y echo "El cuadrado de a dentro de la función es: ",$a, "<br>"; decidir en cada llamada la forma echo "El cubo de b dentro de la función es: ",$b, "<br><br>"; de pasar los parámetros. } ¡Cuidado! b1(&$c,$d); Si tratas de ejecutar una función en la que colocas el & en la echo "Al salir de la función c conserva la modificación: ",$c, "<br>"; llamada a la función y te aparece echo "Por el contrario, d no la conserva: ",$d, "<br><br>"; un mensaje como este: ?> «Warning: Call-time pass-by- reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of function (). If you would like to enable call- ejemplo68.php time pass-by-reference, you can set allow_call_time_pass_reference to Ejercicio nº 26 true in your INI file». 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. Las funciones de esta forma son ejemplo68a.php particularmente útiles para la construcción de espacios web que contienen una serie de páginas en Anterior Indice Siguiente las que se repiten las mismas estructuras.