Diferencia entre revisiones de «Usuario:ManuelRomero/CertificadoWeb2021/IntroduccionPHP/funciones»
(→Funciones) |
|||
Línea 208: | Línea 208: | ||
;Son una herramienta para facilitarnos crear el código, no para complicarnos buscando dónde poder poner una función | ;Son una herramienta para facilitarnos crear el código, no para complicarnos buscando dónde poder poner una función | ||
}} | }} | ||
− | </ | + | {{MRM_Puntos clave |Title =Valor de retorno:Acciones o Procedimientos| |
+ | ;Existen una diferencia en cuanto a que retorne o no un valor | ||
+ | *Es este un concepto matemático: | ||
+ | Si una función no retorna valor, en realidad se llama procedimiento | ||
+ | <source lang=php> | ||
+ | function saludo(){ | ||
+ | echo "Hola cómo estás"; | ||
+ | } | ||
+ | </source> | ||
+ | Si una función devuelve un valor, es propiamente una función | ||
+ | *En otros lenguajes de programación, existe la diferencia entre función y procedimiento. En php no | ||
+ | *Cuando una función retorna un valor, usamos la palabra reservada '''''return''''' | ||
+ | }} | ||
+ | {{MRM_Puntos clave |Title =Los parámetros| | ||
+ | ;A una función le podemos pasar una serie de valores para que haga algo | ||
+ | *Estos valores que le pasamos se llaman Parámetros | ||
+ | * por ejemplo | ||
+ | <source lang=php> | ||
+ | function sumar ( $num1, $num2){ | ||
+ | $suma = $num1+$num2; | ||
+ | return $num1+$num2; | ||
+ | } | ||
+ | </source> | ||
+ | }} | ||
+ | Creamos nuestro programa como módulos que van haciendo acciones | ||
+ | ;Una función agrupa una serie de instrucciones relacionadas semáticamente | ||
+ | Por ejemplo mostrar_menu(), validar_usuario($usuario), dame_numero_par() | ||
+ | ;El identificador a de ser significativo semánticamente | ||
+ | Solo con leer el identificado debemos intuir qué hace esa función | ||
+ | ;Va a evitar duplicar código | ||
+ | Si vemos un conjunto de accinoes que repetimos muchas veces, | ||
+ | va a ser un claro indicador de que debemos de crear una función | ||
+ | ;Va a permitir hacer código más legible | ||
+ | Un código mucho más fácil de leer | ||
+ | ;Es una decisión del programador | ||
+ | No debemos obsesionarnos con crear funciones. | ||
+ | Surgirán según las veamos y concivamos, | ||
+ | ;Son una herramienta para facilitarnos crear el código, no para complicarnos buscando dónde poder poner una función | ||
+ | }} | ||
+ | |||
<div class=slide> | <div class=slide> |
Revisión de 19:01 16 dic 2022
Contenido
Funciones de fechas
- En php hay muchas fucniones para gestionar fechas, siendo esta una tarea frecuente el las aplicaciones web.
- Vamos a estudiar 5 funciones siendo dos de ellas muy utilizadas
time() https://www.php.net/manual/es/function.time.php date(formato, [timestamp]) https://www.php.net/manual/es/function.date.php strtotime("fecha_string"[timestamp]) https://www.php.net/manual/es/function.strtotime.php strftime(formato, [timestamp]) https://www.php.net/manual/es/function.strftime.php checkdate(mes, dia, año) https://www.php.net/manual/es/function.checkdate.php
|
- En php se trabaja mucho con las fechas. Para tal cometido existe una clase llamada DateTime y DateTimeInterface (https://www.php.net/manual/es/class.datetime.php), pero muchas de sus acciones se pueden hacer de forma imperativa con funciones que vamos a ver.
time()
Obtiene una marca de tiempo https://www.php.net/manual/es/function.time.php
- Esta es una función muy importante en php que conviene entender bien.
- Me retorna el número de segundos transcurridos desde el 1 de Enero de 1970 00:00:00 GMT.
Esta fecha está relacionada con el sistema operativo UNIX que empezó a hacerse visible a partir del año 1970
https://es.wikipedia.org/wiki/Berkeley_Software_Distribution https://es.wikipedia.org/wiki/Unix |
- La función time retorna un entero largo numérico
|
date()
- La función convierte un timestamp en una fecha como cadena de caracteres con el formato que le especifiquemos
- Para ver los metaracteres que representan el formato puedes ver la referencia web de la función
Esta función admite dos parámetros, uno de ellos es obligatoria
data("formato_fecha", "timestamp")
Es un string formado por metacaracteres y caracteres literales que establece el formato en el cual queremos ver la fecha (d/m/y H:i:s), por ejemplo, donde d representa el número de día, m del mes ... y los caracteres / y : apareceran literales en la cadena
Es una fecha en formato timestamp o entero largo como segundos desde una fecha Si no se establece, se toma el instante actual, es decir el resultado de la función time()
|
strtotime()
Convierte un string a fecha. https://www.php.net/manual/es/function.strtotime.php
- Esta función admite dos parámetros, uno de ellos es obligatoria
strtotime("fecha_como_string", "timestamp")
Es una cadena que representa una fecha Debemos facilitarla con el formato que entienda el sistema Por defecto "mes/dia/year"
Es una fecha en formato timestamp o entero largo como segundos desde una fecha Tip: Recuerda que stamptime es un entero largo que respresenta un número de segundos desde el 1 de enero de 1970
|
- Si quisiéramos cambiar el formato, podemos usar la función data_default_timezone_set("Zona_horaria")
Descripción de la función https://www.php.net/manual/es/function.date-default-timezone-set.php Listado agrupado de diferentes zonas horarias https://www.php.net/manual/es/timezones.php
- Por ejemplo
<?php $dia= 27; $mes = 12; $year = 2001; $fecha_string="$dia-$mes-$year"; date_default_timezone_set('Europe/Madrid'); $tiempo = strtotime($fecha_string); echo "<h1>Marca de tiempo de $fecha_string <span style='color:red'>$tiempo</h1>";
- El código anterior imprimirá
strftime()
https://www.php.net/manual/es/function.strftime.php
- Da formato a una fecha según el idioma establecido
- Para poder ver el uso de esta función , debemos establecer uno de los idiomas que tengamos instalados en el sistema.
- Para realizar esta acción debemos usar la función setlocale
- setlocale()
https://www.php.net/manual/es/function.setlocale.php
Esta función establece un idioma para la fecha, monedas,... Para poder usar esta función debemos tener instalado en el sistema ese conjunto de caracteres de formato para la localidad deseada
- Para ver las localidades instaladas puedes usar el comando locale
- En caso de no tenerlo instalarlo hay que hacerlo previamente
- Saldrá un menú y seleccionaremos las localidades. Vamos a probar teniendo instalados 3 locales
- es_ES.UTF-8 Español
- fr_FR.UTF-8 Francés
- en_US.UTF-8 Inglés
Esta función retorna false o bien la localidad esablecida, si todo ha ido bien
|
checkdate(mes, dia, year)
- Esta función recibe tres enteros que representan una fecha y retorna un booleano que idica si la fecha es o no correcta
Funciones
|
- Qué son las funciones
|
Creamos nuestro programa como módulos que van haciendo acciones
Por ejemplo mostrar_menu(), validar_usuario($usuario), dame_numero_par()
Solo con leer el identificado debemos intuir qué hace esa función
Si vemos un conjunto de accinoes que repetimos muchas veces, va a ser un claro indicador de que debemos de crear una función
Un código mucho más fácil de leer
No debemos obsesionarnos con crear funciones. Surgirán según las veamos y concivamos,
|
Si una función no retorna valor, en realidad se llama procedimiento function saludo(){ echo "Hola cómo estás"; } Si una función devuelve un valor, es propiamente una función
|
function sumar ( $num1, $num2){ $suma = $num1+$num2; return $num1+$num2; }
|
Creamos nuestro programa como módulos que van haciendo acciones
- Una función agrupa una serie de instrucciones relacionadas semáticamente
Por ejemplo mostrar_menu(), validar_usuario($usuario), dame_numero_par()
- El identificador a de ser significativo semánticamente
Solo con leer el identificado debemos intuir qué hace esa función
- Va a evitar duplicar código
Si vemos un conjunto de accinoes que repetimos muchas veces, va a ser un claro indicador de que debemos de crear una función
- Va a permitir hacer código más legible
Un código mucho más fácil de leer
- Es una decisión del programador
No debemos obsesionarnos con crear funciones. Surgirán según las veamos y concivamos,
- Son una herramienta para facilitarnos crear el código, no para complicarnos buscando dónde poder poner una función
}}
Proceso de creación / invocación de una función
- Lo primero es declarar una función
- Esto implica dejar una zona de memoria identificada con el nombre de la función
- En contenido de esas posiciones de memoria serán las acciones de la función
- Estas acciones estarán establecidas no con valores reales, sino con los parámetros de la declaración
- Estos parámetros se conocen como parámetros formales
- Invocación de función
- Es un tipo de instrucción, invocar a una acción o función.
- lo primero que ocurrirá es que voy a esa zona de memoria
- Lo siguiente es dar los valores reales (de la invocación) a los parámetros de la función (de la declaracion.
- Una vez que la función termina de ejecutarse, se retornará a la instrucción siguiente de la invocación
- Si la función devuelve algún valor, se recogerá y asignará a la variable de la instrucción de asignación desde la cual se invocó
<?php function a(&$num1, &$num2, $num3){ echo "Dentro de la función visibilizando valores <hr />"; echo "Valor de los parámetros \$num1 = $num1 \$num2 = $num2 \$num3 = $num3<br />"; $num1+=5; $num2+=5; $num3+=5; echo "Valor de los parámetros \$num1 = $num1 \$num2 = $num2 \$num3 = $num3<br />"; echo "Salgo de la función"; } //Ahora considero programa principal $a=100; $b=200; $c=300; echo "En el main antes de invocar a la función visualizando variables<hr />"; echo "Valor de variables \$a = $a \$b = $b \$c = $c <br />"; a($a,$b,$c); echo "En el mail después de invocar a la función visualizando variables<hr />"; echo "Valor de variables \$a = $a \$b = $b \$c = $c <br />"; ?>