Hola bienvenidos a una nueva clase y es el turno de las funciones.
Yo ya he creado una carpeta y un archivo punto PHP llamado funciones.
Entonces las funciones vienen a ayudarnos a hacernos un poco la vida más fácil a la hora de programar
y miren supongamos que en un programa muy muy largo que estamos haciendo a cada rato necesitamos repetir
siempre la misma operación no se imprimirá un saludo a cada rato a cada rato imprimir saludos y más
si es un saludo complejo que se compone por varias partes.
Uf qué tarea tediosa.
Pero las funciones vienen a resolvernos esto vamos a crear una función bastante simple.
Las funciones se crean con la palabra reservada función así función sería.
Luego vamos a poner un nombre como siempre les recomiendo que usen un nombre que describa lo que va
a ser esta función que sea o que tenga lógica.
Entonces vamos a decir que esto imprime imprime saludos no podemos poner espacios ni caracteres raros
así que por eso utilizo un guión bajo abro Cierro paréntesis.
Ya veremos para qué sirve esto y abro y cierro llaves separo y todo lo que ponga dentro de estas dos
llaves todas las líneas van a formar parte de esta función.
Bueno vamos a hacer una función súper simple que haga un eco que imprima Hola BIEN VENIDOS bien de Dios.
Un saludo.
Bueno vamos a ver qué sucede si yo ejecuto este programa en curso haga estas funciones y lo ejecuto.
No sucede absolutamente nada cuando yo ejecuto esto.
PHP detecta que hay una función y en cuanto hay una función la carga la prepara pero no la ejecuta y
la deja preparada para que sea ejecutada solo cuando yo la llame.
A lo largo de mi código.
Entonces mira voy a modificar un poquito más para hacer esto más más legible a nuestros ojos.
Voy a ponerle Humber para que genere salto de línea.
Entonces cómo voy a llamar la función a lo largo del código.
Voy a decir así imprime.
De hecho Keaton se da cuenta que tengo una función con ese nombre y ya me la sugiere voy a apretar Enter
y abre y cierro paréntesis.
Punto y Coma ahí llamé a la función.
Una vez funcionará perfecto y si le llamo de nuevo copio y pego y se ejecuta dos veces.
Bueno seguro que si ejecuto muchas veces perfecto anda bien qué pasa si esto lo ejecuto y lo llamo antes
de crear o definir la función.
Veamos veamos qué pasa.
Aprendemos.
También funciona entonces una buena regla es que no importa dónde está la función o PHP le da lo mismo
la va a encontrar y la va a llamar igual.
Bueno como siempre conviene tener una orden o ponemos todas las funciones arriba las acomodamos abajo.
Hay ciertas convenciones al respecto pero para nuestro fin es lo mismo.
Bueno a mí me gusta ubicarlas arriba prepararlas ahí me da la sensación de que no puedo llamar a algo
que todavía no ha sido creado.
Entonces empiezo a acomodar arriba tenemos una función que se llama imprime saludo pero podemos hacer
esto mucho más versátil.
Miren las funciones son capaces de recibir parámetros una función le puedo pasar un valor para que ese
valor ingrese a la función y sea procesado.
Se acuerdan cuando hacíamos por ejemplo cont y poníamos eso paréntesis abro paréntesis cierro este cont
no deja de ser una función en algún lado.
Cómo que no se acuerdan com era para contar los elementos de un array.
Ahora se van acordando.
Bueno qué sucede con esta función cont en algún lado en algún lado de PHP.
Internamente hay una función llamada Command que tendrá un montón de líneas para procesar y devolvernos
ese resultado pero cómo habíamos visto le teníamos que pasar a esta función con un valor que era ese
valor el array que quiero que me analice.
Bueno entonces por eso es que sé que las funciones pueden recibir un valor ese valor lo van a recibir
aquí entre medio de estos paréntesis.
Entonces yo vivo acá voy a declarar por ejemplo una variable que se va a llamar saludo entonces voy
a decir acá voy a dejar el BR y voy a decir hehco saludo.
Punto.
Ver.
Bueno entonces yo ahora voy a poder llamar a la función imprimes saludo y esta función ahora está esperando
que le pase una string.
Un saludo.
Entonces imprimes saludo y acá como es una lo voy a tener que pasar entre comillas es decir Hola cómo
estás bien.
Entonces
lo que acaba de suceder es que más de una tecla y se crea otro archivo se me cayó de archivo.
Retomo imprime saludo.
Hola cómo estás.
Le estoy pasando a esta función.
Ese saludo.
Y qué pasa este valor que vemos acá que yo le estoy pasando se va a guardar en esta variable que yo
estoy creando acá esta variable esta variable la estoy creando y está asumiendo un valor cual el que
le estoy enviando.
Entonces a partir de ahora dentro de todas las líneas que puedan llegar a tener mi función saludo este
saludo que estoy marcando acá está haciendo referencia a lo que ha centrado acá.
Entonces miren cómo funciona esto qué bueno que está que útil imprimes saludo hola cómo estás entonces
está procesando algo sí.
Porque miren de hecho le está agregando un Bede
funciona.
Hola cómo estás.
Será que está funcionando porque miren yo imprimo saludos y yo acá no estoy poniendo br.
Mi función se dedica a agregarles un veré acá saludo.
Será que esto ya es una función que es una tarea.
Sí claro y miren qué útil una función que le agrega los veré al final.
Si a mí no me gusta andar poniendo Veres me olvidé de grabar ahí estamos.
Listo.
Bueno así como reciben strings las funciones también también pueden recibir números.
Vamos a ver comentamos esto por si alguien lo quiere.
Lo vamos a dejar comentaba
y ahí estamos.
Vamos a crear otra función que se va a llamar función
suma y va a recibir valor 1 coma valor 2.
Miren que esta función está recibiendo más de un valor.
De hecho una función puede recibir todas las cantidades y tipos de valores que se me ocurra Soka podría
escribir 100 variables si quiero recibir 100 valores eso si cada vez que les llame esta función me va
a pedir y me va a exigir que lleguen dos valores si no me pueden saltar alguna advertencia de que hay
un valor que no está llegando.
Entonces vamos a hacer dentro de esta función algo tan simple como esto hehco valor 1 más valor 2 miren
que bueno tienen que ver con lo que si bien ahora suma las llamo más abajo y le digo a ver no sé 10
20.
Listo vamos a actualizar y qué me imprimió un 30 porque este 10 que yo lo estoy pasando Azuma se va
a ubicar adentro de valor 1 y este 20 que está acá se guarda dentro del valor 2 y a partir de ahora
dentro de la función y ya opero con valor 1 y valor 2.
Entonces lo que estoy haciendo es imprimir la suma de los dos valores que le estoy pasando a la función.
Insisto de más está decir que acá adentro puedo poner las líneas y hacer lo que quiera y vamos por el
último concepto.
Las funciones no solamente pueden recibir valores sino que también lo pueden devolver yo cuando empecé
a estudiar estoy aprenderlo me empecé a imaginar esto de una manera hasta el día de hoy me lo imagino
así las funciones tienen esta capacidad reciben un valor por este lado por aquí y lo devuelven por acá
atrás.
Sobre todo esto me queda porque en otros lenguajes acá atrás hay que definir qué tipo de valor devuelve.
Bueno acá no tenemos que definir nada eso es lo bueno de PHP.
Entonces vamos a ver una función que devuelve valor.
Es tan simple como esto vamos a cambiarle un poco la dinámica o bueno lo hacemos así se hace con la
palabra reservada retornã ya le cambió la dinámica para que vean otra manera pero Return se escribe
así.
Lo que hace es devolver lo que hayamos calculado a una variable en particular a quien se la devuelve
a quien sea que haya llamado a la función y le haya pasado los parámetros.
Ojo que funciones que no reciben ningún parámetro también pueden devolver cosas.
O sea que tenemos funciones que no reciben ni devuelven funciones que reciben pero que no devuelven
funciones que sólo devuelven o que hacen las dos cosas.
Tenemos para todos los gustos.
Entonces veamos de qué nos sirve esto de que en vez de imprimirlo adentro de la función lo devolvemos.
Obviamente si yo ahora llamo a la función no va a pasar nada porque en realidad yo no lo estoy imprimiendo
en ningún lado.
Pero vamos esto es así yo estoy llamando a la función desde acá le paso dos valores como hay una sentencia
con Return lo que hace esto es devolver el valor calculado a donde sea que lo hayamos llamado y si lo
llamamos desde acá el valor calculado va a reemplazar todo esto.
Entonces si el resultado era 30 todo esto se va a transformar en un 30.
Eso me permite hacer lo siguiente.
Miren hehco imprime suma 10 20.
Como hay un retorno o sea estos diez y estos 20 viajan hasta acá se procesan y se devuelven a su origen
y reemplazan la sentencia.
Así funciona está tengo una calculadora en definitiva que no funciona.
Mira ahí está está funcionando y como les dije Claro que puedo hacer mucho más que sumar numeritos esto
es mucho más complejo podamos minen for voy a hacer un favor que hago unas cuantas veces valor 1 entonces
acá borro esto.
Acá voy a poner mira eco Hola por poner algo aprovechamos y le ponemos.
No hace falta disputo el Baire no vamos a ser que no devuelve nada de esta función y lo vamos a cambiar
el nombre se va a llamar repite y acá hagamos hagamos hagámoslo bien ya que estamos
cantidad cantida Bueno yo a la función repite esta función.
Imprime acá adentro así que no le tengo que poner Coca le tengo que pasar la cantidad de veces que quiero
que repita el Hola.
Entonces si pongo función 10.
Perdón no se llama ni función ni sumas se llama repite ahora repite 10.
Tengo 10 Holas.
Por supuesto que si pongo sean 100 o por qué.
Por qué este Shihan se mete adentro de cantidad y cantidad.
Lo estoy usando para limitar el foro para decirle al foro cuántas veces tiene que contar la hacemos
más compleja.
Miren para que sepan las funciones pueden recibir cualquier tipo de datos en estas variables incluso
las puedo combinar.
Estoy recibiendo acá un entero y a su vez voy a recibir un mensaje.
Ahí está entonces ahora vamos a poner acá el ver y lo dejo a donde estaba y lo que voy a imprimir es
lo que me llegue dentro de mensaje y le concatena el B.R. para que deje el salto de línea.
Cómo se lo voy a pasar en el mismo orden en el mismo orden.
Perdón cantidad.
Mensaje entonces si en coma y le pasemos el mensaje por qué lo pongo entre comillas porque son Extrem
entonces tal vez entonces le vamos a poner
qué buena función ahí está 100 veces.
Ben le puedo pasar cantidad 20 veces y vamos a modificar esto pero vamos a modificar para que se note
que es otra cosa.
Esta gravó Ben puede pasar un mensaje y la cantidad bueno de esto se tratan las funciones lo hemos visto
de una manera compacta intensa.
Yo les pediría que dejen este ejemplo abierto porque ya lo vamos a reciclar.
Lo vamos a reciclar en la próxima clase y ahora sí llegó el momento de apretar el acelerador.
Muchas gracias y un gran abrazo y hasta pronto.