|
|
| Línea 1: |
Línea 1: |
| | {{:Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/nav}} | | {{:Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/nav}} |
| | <div id=apuntes_distancia> | | <div id=apuntes_distancia> |
| − |
| |
| − | {{PHP/Aspectos_sobre_Sitaxis}}
| |
| | {{PHP/Aspectos_sobre_Sintaxis}} | | {{PHP/Aspectos_sobre_Sintaxis}} |
| | | | |
| | {{PHP/MasSintaxis}} | | {{PHP/MasSintaxis}} |
| | </div> | | </div> |
Revisión de 18:20 27 oct 2024
LENGUAJE PHP: EL LENGUAJE EN GENERAL
¡El servidor te responde
PHP Un lenguaje de script al lado del servidor
Programa: conjunto de instrucciones (↑ índice)
Objetivo
|
Analizamos un programa como un conjunto de instrucciones que trabajan con valores
- Analizaremos las instrucciones que hay.
- Analicemos qué son los valores y cómo los voy a poder almacenar para usar en un programa
- Posteriormente Veremos cómo se escriben en php.
|
Planteando un lenguaje de programación (↑ índice)
- Léxicos
- Sintaxis
Reglas de construcción.
Son muy comunes en todos los lenguajes
$edad = 16
if ($edad>18){
echo "Eres mayor de edad";
}else{
echo "No eres mayor de edad";
}
Esta estructra es igual en todos los lenguajes
pero en php las variables se definen de una forma concreta
y la forma de escribir por pantalla también es propia de cada lenguaje
Habla del significado.
- Estudiaremos alguna peculiaridad, como el hecho de que php es un lenguaje altamente orientado a expresiones
- También que es un lenguaje de tipado dinámico
|
Instrucciones en un lenguaje de programación (↑ índice)
- Inicio Fin de bloque
- Instrucción/función de leer del teclado, escribir por pantalla
- Declaraciones (variables, constantes, funciones, clases, objetos, ...)
- Asignación
- Invocación (llamada a función o método)
- Estructura de control (selectiva, iterativa, control de excepciones).
Separando instrucciones
- Las instrucciones en php, se separan una de otra con ; (punto y coma)
- La instruccion que va justo antes de la etiqueta de cierre de php, puede no llevar ;(punto y coma)
- En este aspecto, las sentencias de apertura/cierre { } y las estructuras de control, no llevan punto y coma.
$edad = 25;
$nombre = "Manuel";
echo "Qué bonito es php";
El ;
Si solo queremos insertar una instrucción puede suele obviarse el ;
<html>
......
<?php echo "hola" ?>
<!-- instrucciones html -->
<?php echo "otro hola" ?>
<!-- mas instrucciones html -->
<?php echo "otra instrucción " ?>
.....
</html>
|
El ;
También puede haber ;
<html>
......
<?php echo "hola" ;?>
<!-- instrucciones html -->
<?php echo "otro hola" ; ?>
<!-- mas instrucciones html -->
<?php echo "otra instrucción " ; ?>
.....
</html>
|
Tipos de valores usados en PHP (↑ índice)
- Las instrucciones trabajan con valores
- Sobre los valores, realizaremos operaciones
- Los valores pueden ser de diferentes tipos
|
- En php tenemos los siguientes tipos de valores:
TIPOS DE VALORES EN PHP
| Valores simples
|
Valores compuestos
|
| Numéricos
|
String
|
Booleanos
|
Null
|
Arrays
|
Objetos
|
Recursos
|
- Númericos (enteros, reales)
- Cadenas de caracteres (string)
- Booleanos (true, false)
- Null
- Arrays (listas de valores)
- Objetos (instancias de clases)
- Recursos (manejadores de conexiones u otros recursos externos)
Ejemplos de valores en PHP (↑ índice)
Todo esto lo iremos estudiando, pero por ir viendo ejemplos y sabiendo con qué vamos a trabajar
//Enteros y reales
5;
5.5;
0b1100101; // Representación en binario
0xFAfF4; // Representación en hexadecimal
0733353; // Representación en octal
54e34; // Notación científica
43e-10;
// Operaciones numéricas: +, -, *, /
// String o cadena de caracteres
"Esto es una cadena";
'Esto es otra cadena';
// Operaciones: concatenar con .
// Booleanos
true;
false;
// Operaciones lógicas: AND, OR, !
// Valor null
null;
// Tipos compuestos
// Arrays
["servidor", "cliente"];
// Objetos
class Persona {
private $nombre;
private $apellido;
private $telefono;
}
// Recursos
new mysqli();
Funciones propias de php sobre tipos y valores
http://php.net/manual/es/ref.var.php
- Existen una serie (muchas) de funciones que son interesantes de conocer
- Estas funciones ya están creadas y se pueden usar directamente
- Están relacionadas con los tipos de datos y valores
- Alguna de ellas son extremadamente útiles y utilizadas, por ejemplo antes de procesar un dato, hay que ver que dicho dato tenga valor.
- A continuación trataremos alguna de ellas
- var_dump
void var_dump($expresion)
- Nos da información sobre la estructura de un valor resultado de una expresion
- isset
- verifica que una variable tiene valor (está definida y no tiene un valor null)
<?php
$VariableValor= 5;
print ("El valor de la variable es $VariableValor");
print ("El valor de otra variable es $OtraVariableValor");
if (isset($VariableValor))
print ("VariableValor tiene valor asignado");
else
print ("VariableValor no no tiene valor asignado");
if (isset($OtraVariableValor))
print ("OtraVariableValor tiene valor asignado");
else
print ("OtraVariableValor no no tiene valor asignado");
?>
Funciones para determinar existencia de variables
Tenemos tres funciones muy parecidas pero no del todo iguales
| Función
|
Significado
|
| is_null($variable)
|
Determina si una variable ($variable) tiene valor null
|
| empty($variable)
|
Determina si una variable ($variables)está vacía
|
| isset($variable)
|
Determina is una variable ha sido definida y no tiene un valor vacío.
|
- Es importante saber qué es para php un valor nulo, o si está vacía que no son conceptos sinónimos
- Valor null
-
$a=null //$a tiene valor null.
is_null($a) //true
unset($a) //Se destruye la variable y toma el valor null
is_null($a) //true
//$b una variable que no existe tiene el valor null
is_null($b) //true
- Variable vacía
$a=null //$a está vacía
empty($a) //true
$a="";
empty($a) //true
$a="hola";
empty($a) //false
unset($a);
empty($a) //true
$a=false;
empty($a) //true !OJO!
$a=0;
empty($a) //true !OJO!
- Puedes ver la siguiente app en la que puedes aportar valores
http://manuel.infenlaces.com/apuntes/existencia_valor_variables
- Tener en cuenta que si evaluamos si una variable está vacía no es
- empty
- Determina si una variable no existe. Devuelve true si no existe o su valor está vacío
Actividad
|
Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo
|
Actividad
|
Usando la función xxxyyy donde xxx e yyy será dec oct bin o hex para convertir el valor de un sistema numérico a otro
|
Actividad
- Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()
$num=0;
$nombre="";
$nombre=null;
$nombre="0";
$pregunta = FALSE;
|
- gettype]
- Devuelve el tipo de una variable
string gettype($variable)
- [1]is-double is-int, is-xxx
- son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos
- Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
string is_int($variable);
string is_double($variable);
string is_bool($variable);
string is_integer($variable);
string is_null($variable);
string is_string($variable);
...
Actividad
|
Visualizar de qué tipo es la expresión mostrada en el código siguiente y visualiza el valor de la expresión
|
- unset
- Destruye la variable especificada perdiéndose su valor
void unset ($var)
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
- 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
- La función time retorna un entero largo numérico
usar time()
- Prueba a visualizar el retorno de la función time()
- Mira lo que ocurre si recargas la página en ejecución, como se van actualizando los segundos
Pregunta
- Entiendes por qué camba el valor
|
| Porbando time() |
|---|
Segundos transcurridos desde 1 de enero de 1970 <span style='color:red'>$tiempo </span></h2>";
?>
|
|
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
funcion date()
data("formato_fecha", "timestamp")
- parámetro 1
- formato_fecha
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
- parametro 2
- timestamp
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()
|
Ejemplo de uso de date
<?php
$fecha_actual =date("d/m/Y H:i:s");
echo "<h1>La fecha actual es $fecha_actual</h1>";
$fecha_futura =date("d/m/Y H:i:s", time()+24*60*60);
echo "<h1>La fecha de mañana será $fecha_futura</h1>";
|
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
funcion strtotime
strtotime("fecha_como_string", "timestamp")
- parámetro 1
- fecha_como_string
Es una cadena que representa una fecha
Debemos facilitarla con el formato que entienda el sistema
Por defecto "mes/dia/year"
- parametro 2
- timestamp
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")
<?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á
Ejemplo de uso de strtotime
<?php
$dia =27;
$mes=11;
$year=2001;
$fecha ="$mes/$dia/$year";
$time = strtotime($fecha);
echo "<h2>Valor de $fecha es $time</h2>h2>";
<br/>
|
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
- Para instalar nuevas localidades
sudo dpkg-reconfigure locales
- Saldrá un menú y seleccionaremos las localidades. Para los ejercicios debes tener instaladso
- es_ES.UTF-8 Español
- fr_FR.UTF-8 Francés
- en_US.UTF-8 Inglés
- Para instalar una localidad concreta
sudo locale-gen "en_US.utf8"
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