Introducción a PHP
Bienvenido a la sección de PHP, en esta sección te encontrarás con todo lo esecial que necesitas saber sobre PHP.
Variables
Una variable en PHP es un contenedor que almacena un valor o una referencia a un valor en memoria. PHP es un lenguaje de tipado débil, lo que significa que las variables no necesitan declarar un tipo específico antes de usarlas, y el tipo se determina dinámicamente en función del valor asignado.
Además, en PHP las variables pueden almacenar referencias a otros valores. Es decir, en lugar de almacenar directamente un valor, pueden apuntar a la dirección de memoria de otro dato, como ocurre con los arrays y objetos.
Tipos de datos
PHP tiene varios tipos de datos, que se pueden clasificar principalmente en tipos escalares y tipos compuestos. Seguidamente los explicamos:
Tipos escalares
Los tipos escalares son aquellos que representan un solo valor. En otras palabras, un tipo escalar almacena un valor atómico, es decir, no está compuesto por otros valores, sino que es una unidad indivisible.
-
Enteros (
int,integer): Un entero es un número sin decimales, ya sea positivo o negativo.- Los valores enteros en PHP pueden ser números tanto positivos como negativos.
- No pueden contener decimales.
-
Flotantes (
float,double): Un flotante (o double) es un número que tiene decimales. Los números con decimales son llamados flotantes porque su punto decimal puede "flotar" en cualquier parte del número.- Los flotantes son útiles para representar valores más precisos, como precios, temperaturas, etc.
- Pueden ser positivos o negativos y tienen decimales.
-
Cadenas de texto (
string): Una cadena (string) es un conjunto de caracteres, como palabras, frases o incluso números representados como texto. Las cadenas son muy utilizadas para trabajar con texto.- Las cadenas pueden estar entre comillas dobles ("texto") o simples ('texto'), y pueden contener letras, números y caracteres especiales.
- Se usan mucho para representar nombres, direcciones, mensajes, etc.
-
Booleanos (
bool): Un booleano representa un valor de verdadero o falso (trueofalse). Se utiliza en condiciones o en estructuras de control de flujo, comoif, para tomar decisiones.- Los booleanos son muy útiles para la lógica de programación, especialmente en comparaciones o validaciones.
Tipos compuestos
Los tipos compuestos son aquellos que pueden almacenar múltiples valores. A diferencia de los tipos escalares que solo almacenan un único valor, los tipos compuestos agrupan varios valores, y esos valores pueden ser de diferentes tipos. En PHP, los tipos compuestos más comunes son arrays y objetos.
-
Arrays (
array): Un array es una estructura de datos que puede almacenar varios valores, los cuales pueden ser de diferentes tipos. Los arrays pueden ser indexados (donde cada valor tiene un índice numérico) o asociativos (donde cada valor está asociado a una clave personalizada).- Array indexado: Los arrays indexados utilizan índices numéricos (por defecto empiezan desde 0).
- Array asociativo (
array): Los arrays asociativos permiten asociar valores a claves personalizadas. - Objetos (
object): Un objeto es una instancia de una clase. Las clases son plantillas o moldes que definen las propiedades y métodos de los objetos. Los objetos se usan en la Programación Orientada a Objetos (OOP) para agrupar datos y funcionalidades relacionadas.
Tipos de variables y referencias
PHP permite dos tipos de paso de datos: por valor y por referencia. En el paso por valor, se crea una copia del dato y se trabaja sobre ella. En el paso por referencia, las variables apuntan al mismo bloque de memoria, por lo que cualquier cambio realizado afectará al dato original.
Un ejemplo sería:
Operadores
Los operadores aritméticos permiten realizar operaciones matemáticas en PHP. Además de los operadores aritméticos, existen otros tipos de operadores, como los operadores de comparación y los operadores lógicos, que permiten realizar comparaciones y operar con valores booleanos, respectivamente.
Operadores aritméticos
-
+: Suma -
-: Resta -
*: Multiplicación -
/: División -
%: Módulo (resto de la división) -
**: Potencia (a elevado a la b)
Operadores de comparación
==: Compara si son iguales!=: Compara si no son iguales<: Compara si $a es menor que $b>: Compara si $a es mayor que $b<=: Compara si $a es menor o igual que $b>=: Compara si $a es mayor o igual que $b
Operadores Lógicos
&&: Y lógico (ambas condiciones deben ser verdaderas) (AND)||: O lógico (al menos una condición debe ser verdadera) (OR)!: Negación lógica (invierte el valor de la condición) (NOT)
Operadores de asignación
=: Asignación+=: Suma y asignación-=: Resta y asignación*=: Multiplicación y asignación/=: División y asignación%=: Módulo y asignación
Operadores de incremento y decremento
++$a: Pre-incremento: incrementa antes de usar el valor$a++: Post-incremento: usa el valor y luego lo incrementa--$a: Pre-decremento: decrementa antes de usar el valor$a--: Post-decremento: usa el valor y luego lo decrementa
Operadores de Cadena
.: Concatena las cadenas
Operadores de Identidad
===: Compara si $a y $b son idénticos (mismo valor y tipo)!==: Compara si $a y $b no son idénticos (valor o tipo diferente)
Operadores de tipo
is_int($a): Verifica si $a es un enterois_string($b): Verifica si $b es una cadenais_bool($c): Verifica si $c es un booleanois_array($d): Verifica si $d es un arrayis_object($e): Verifica si $e es un objetois_null($f): Verifica si $f es un valor nulois_numeric($g): Verifica si $g es un númerois_float($h): Verifica si $h es un flotante
Condicionales
Las condiciones en PHP se utilizan para ejecutar bloques de código en función de si una expresión es verdadera o falsa. Son fundamentales para controlar el flujo de ejecución de un programa. Las estructuras de control más comunes en PHP son if, else, elseif, y switch.
Condicionales if
Pongamos un ejemplo:
Este ejemplo verifica si la variable $edad es mayor o igual a 18. Si es así, se imprime el mensaje "Eres mayor de edad.".
Condicionales if-else
Pongamos un ejemplo:
Aquí, como $a es 2, la condición no se cumple, por lo que se imprimirá "El valor de a no es mayor que 3".
Condicionales if-elseif-else
Pongamos un ejemplo:
elseif ($a == 10) es verdadera.
Condicionales switch
Pongamos un ejemplo:
$dia es 2, la salida será "Hoy es martes". El break se utiliza para salir del bloque switch una vez que se ha encontrado el caso correspondiente.
Condicionales ternarias
Pongamos un ejemplo:
Este ejemplo imprimirá "Mayor que 3" porque la condición a > 3 es verdadera.
Condicionales con operadores lógicos
Aquí, ambas condiciones deben ser verdaderas para que se ejecute el bloque de código, por lo que se imprimirá "Ambas condiciones son verdaderas".
Bucles
Los bucles nos permiten ejecutar un bloque de código repetidamente mientras se cumpla una condición. En PHP, los bucles más comunes son for, while, do-while y foreach.
Bucles for
Pongamos un ejemplo:
Este ejemplo imprimirá los siguientes valores de $i:
Bucles while
Pongamos un ejemplo:
Bucles do-while
Pongamos un ejemplo:
Este bucle también imprimirá los valores de $i desde 0 hasta 4.
Bucles foreach
Si necesitas tanto el índice como el valor del array:
Funciones
Una función es un bloque de código que realiza una tarea específica y siempre debe devolver un valor (aunque sea NULL por defecto si no se especifica explícitamente un return). Puedes definir tus propias funciones y llamarlas cuando sea necesario.
Definición de funciones
Pongamos un ejemplo:
Parámetros de funciones
Puedes pasar datos a las funciones utilizando parámetros. Estos valores son utilizados dentro de la función y debe devolverse un valor.
Funciones anónimas
PHP también permite crear funciones sin nombre, conocidas como funciones anónimas. A pesar de ser anónimas, siempre deben devolver un valor si así lo requiere el contexto.
Este ejemplo crea una función anónima y la almacena en la variable $saludar.
Funciones recursivas
Una función recursiva es aquella que se llama a sí misma. Son útiles para resolver problemas que pueden dividirse en subproblemas más pequeños, como el cálculo de factoriales o la búsqueda en estructuras de datos como árboles. Y siempre deben retornar un valor.
En este ejemplo, la función factorial() se llama a sí misma, pero siempre retorna un valor.
Funciones incorporadas
PHP también tiene muchas funciones incorporadas que puedes utilizar, como strlen() para obtener la longitud de una cadena, array_push() para agregar un elemento a un array, etc. Estas funciones también devuelven un valor.
Request Superglobals
Request Superglobals en PHP
En PHP, los request superglobals son variables predefinidas que permiten acceder a la información proveniente de diversas fuentes externas, como formularios, cookies, URL y más. Estos son accesibles globalmente en todo el script PHP. A continuación, un resumen de los más utilizados:
$_GET: Contiene los datos enviados a través de la URL, generalmente mediante el método HTTP GET. Los valores se envían como parámetros en la cadena de consulta.-
Ejemplo:
$_GET['nombre']obtiene el valor denombrede la URL. -
$_POST: Almacena los datos enviados mediante el método HTTP POST, generalmente en formularios. Es más seguro para enviar grandes cantidades de datos que$_GET, ya que no se muestran en la URL. -
Ejemplo:
$_POST['usuario']obtiene el valor deusuariode un formulario enviado. -
$_REQUEST: Contiene tanto los datos de$_GET,$_POST, como de$_COOKIE. Es un "superglobal" que combina estos tres arrays, pero se recomienda usar$_GETo$_POSTespecíficamente, ya que$_REQUESTpuede ser menos seguro. -
Ejemplo:
$_REQUEST['email']obtiene el valor del parámetroemailde cualquiera de las tres fuentes. -
$_SERVER: Almacena información sobre los servidores y el entorno de ejecución, como cabeceras HTTP, información del script, método de petición, etc. -
Ejemplo:
$_SERVER['HTTP_USER_AGENT']obtiene el agente de usuario (el navegador). -
$_FILES: Contiene los datos de los archivos subidos a través de un formulario HTML con el métodoPOST. Se utiliza para acceder a los detalles de los archivos, como el nombre, tamaño y tipo de archivo. -
Ejemplo:
$_FILES['archivo']['name']obtiene el nombre del archivo subido. -
$_ENV: Contiene variables de entorno del sistema, como configuraciones de servidor o configuraciones del sistema operativo. -
Ejemplo:
$_ENV['PATH']obtiene el valor de la variable de entornoPATH. -
$_COOKIE: Almacena los valores de las cookies enviadas por el navegador. Se utiliza para leer los valores de las cookies configuradas previamente. -
Ejemplo:
$_COOKIE['user']obtiene el valor de la cookieuser. -
$_SESSION: Almacena datos sobre una sesión de usuario. Es útil para mantener la información entre diferentes páginas durante una sesión en particular. - Ejemplo:
$_SESSION['username']obtiene el valor almacenado deusernameen la sesión.
Cada uno de estos superglobales tiene un propósito específico y permite interactuar con la entrada y el entorno del servidor de manera eficiente. Es importante siempre validar y sanitizar los datos provenientes de estas fuentes para evitar riesgos de seguridad, como inyecciones de SQL o XSS.