¿Qué es una función en programación y cómo se utiliza?
Las funciones son una característica fundamental en cualquier lenguaje de programación. Nos permiten encapsular bloques de código que realizan tareas específicas y luego reutilizarlos en diferentes partes de nuestro programa. En el contexto de este módulo, examinaremos en detalle cómo manejar las funciones, lo que será crucial para entender conceptos más avanzados como la creación de clases y objetos en el futuro.
Una función consiste en lógica de programación que puede recibir parámetros para procesar información y retornar resultados. Este enfoque promueve la reutilización del código y la separación de responsabilidades dentro de un programa.
¿Cómo se retorna un valor en una función?
Retornar valores es una de las operaciones más básicas y a la vez esenciales para el funcionamiento correcto de una función. En el ejemplo proporcionado, dentro de una función en PHP utilizamos la palabra clave return para devolver resultados. Esta palabra clave es fundamental, ya que permite que la función finalice su ejecución y entregue un valor al llamador de la función. Esto es diferente a imprimir directamente el resultado con echo, que sólo muestra la salida sin retornar nada para un manejo posterior.
En PHP, si deseamos retornar múltiples valores, lo más efectivo es hacer uso de un array. La estructura de array nos permite enviar de vuelta varios datos empaquetados juntos para que el receptor pueda manejarlos como desee. Es vital entender esta herramienta para no solo retornar un solo elemento.
functionobtenerValores(){return["resultado1","resultado2"];}$valores=obtenerValores();var_dump($valores);// Imprimirá array con dos elementos
Usar var_dump en este caso es útil para inspeccionar el contenido del array, especialmente en el desarrollo y debugging.
¿Qué es exit y cuándo se usa?
La función o palabra clave exit interrumpe por completo la ejecución de un script. Esto a menudo se confunde con return, pero su función es detener directamente el sistema, no solamente terminar una función específica.
functiondetenerSistema(){exit("Detenemos la ejecución aquí.");}// La ejecución se detiene al llamar esta función
Utilizar exit no permitirá continuar con otras operaciones en el sistema, lo que resulta útil en situaciones específicas donde debamos garantizar que una parte del código no continúe si no se cumplen ciertas condiciones.
Importancia de seguir buenas prácticas
Si bien PHP es conocido por permitir gran flexibilidad, lo que puede resultar en malas prácticas de programación, seguir estructuras adecuadas y buenas prácticas es esencial para mejorar la calidad y mantenibilidad del código. Usar correctamente return, arrays para múltiples valores y exit para detener ejecución es parte de estas prácticas.
¡No dejes de explorar cómo estas herramientas te ayudarán a crear aplicaciones más robustas y efectivas!
<?php
echo "<h1>Return</h1>";echo "---------------";//Forma parte de cualquier función//Necesitamos Return precisamente para devolver y entregar con éxito lo que has procesado anteriormentefunctiongreet(){return"<h1>Hola</h1>";}echo greet();//Para retornar mas de un valor o elemento utilizamos un arrayfunctiongreet1(){return['PDF','Laravel'];}var_dump(greet1());exit();//detiene la ejecución del sistemareturn;//retorna
Gracias por el resumen de la clase
En resumen: return devuelve el resultado de toda la operación de la función, por tanto, cuando igualas una variable a una función, en la variable se va a guardar lo que la función retorne
Interesante, gracias por el dato.
Hola!! Si quieren formar parte de un grupo de estudios de Devs, les dejo un link a un grupo de Telegram que está muy chulo.
También tienen una organización de GitHub, únete por aquí:
Excelente!!!
Return
La palabra reservada return siempre va ha estar dentro de una función, nos ayuda retornar.
Es una mala práctica no retornar nada de una función y hacer que esta se imprima cuando la llamemos.
<?phpfunctionsaludo(){return"Hola...";}echosaludo();#no es recomendado hacer estofunctionsaludos(){return"Hola...";return"Hola 2...";}
Si necesitamos retornar más de un elemento tendremos que utilizar la estructura de un Array.
No debemos confundir la función de exit() con la de return. Es verdad que exit() nos retorna un resultado, pero esta también detiene el sistema al ejecutarse.
👾 Return permite que nuestras funciones retornenvalores.
functiongreet($name){return"Hola , $name";}
Cuando retornamos mas de un valor, también podemos acceder a esos valores como lo hacemos con array
¿A qué se refiere el profesor cuando dice "retornar un PDF y una VISTA? ¿qué es una vista?
Laravel es un framework que permite la creación de aplicaciones en PHP de una manera más sencilla.
Existe un concepto en Laravel que se llama Controllers. Estos controladores permiten agrupar la lógica de negocio (el backend, tu código que resuelve ciertos problemas en el servidor) y separarlo del HTML (el frontend, lo que ve el usuario).
Esto último es lo que se conoce como Vista (el HTML).
En los controladores, puedes tener el código para generar un PDF para un reporte, y en tu vista puedes tener el código de la página web que tenga el botón para descargar dicho reporte.
Esta separación de conceptos viene de un patrón llamado MVC (Modelo-Vista-Controlador).
Gracias por tu respuesta, pero también me deja pensando que se digan cosas tan complejas, considerando que alguien como yo que recién está aprendiendo PHP no sabe nada de Frameworks y peor lo que acabas de explicar, en verdad siento que hay muchos vacíos básicos en esta línea, y está más pensada para gente que sabe PHP pero que quiere aprenderlo de mejor manera.
Mis apuntes compañeros
<?php
/**
* Función que valida usuario y contraseña
*/functionnewUser($email, $password){if(filter_var($email,FILTER_VALIDATE_EMAIL)&&preg_match('/^[0-9]{6,9}$/',$password)){ $response ="Usuario registrado";return[$response, $email, $password];}else{exit("Error");}}$newUser =newUser("alexmorjim@hotmail.com","123456");if($newUser[0]!="Error"){ echo "{$newUser[0]}<br>Usuario: {$newUser[1]}<br>Contraseña = {$newUser[2]}";}else{ echo "Error de registro";}
gracias
Mis apuntes:
<?php
//Retorno functiongreet(){return"Hola...";}echo greet();exit();// Detiene el sistema completo return;// Retorna un valor y acaba la ejecución de un bloque de código en cuestion
La palabra return forma parte de cualquier función o método.
Para retornar más de un valor, más de un elemento utilizamos siempre un array.
Return significa devolver.
Resumen de la clase
<?php
functiongreet(){return"Hello World";}echo greet();echo '<br>';exit();//detiene el sistemareturn;//retorna el valor de la funcion?>
Puedes crear funciones según los requerimientos, por ejemplo puedes crear una función que reciba el monto total de una factura y que calcule el porcentaje de descuento y retornar el valor con descuento, el porcentaje de descuento puede ser enviado por parámetro o puede ser fijo, todo dependerá de nuestro requerimiento.
Para convertir de array a string
functiongreet(){return['Hola','Como estás'];}// Para convertir de array a stringecho(implode(', ',greet()));
Un dato para complementar es que si una función o método no tiene la palabra reservada return por defecto retornará null, de la misma manera si no le pasamos ningún valor después de return igual retornará null, y por último podemos pasarle explicitamente return null, así que los tres casos son equivalentes.
No lo mencionan en la clase, pero mi precioso IDE (PHPStorm) me enseño a poner el tipo de retorno, asi que les comparto como se pone el tipo de retorno :D
Esta palabra reservada siempre va a estar dentro de una función, básicamente sirve para retornar un resultado después de que la función haya realizado cierto proceso.
En caso de que una función tenga varios return solo se ejecutará el primero. Si se quiere retornar múltiples elementos se debe hacer mediante un array.
Se debe diferenciar entre return y exit, ya que exit detiene el sistema directamente y return solo retorna un resultado.
Se puede decir que con array podemos enviar datos complejos como un objeto pojo en java aunque sin instancia.
Es una buena practica siempre en una función retornar el resultado para ser manejado, esto permite el flujo y continuidad el codigo en el proyecto
Excelente información para realizar buenas prácticas de codificación