IPAP
Instituto Provincial de la
Administración Pública
PROGRAMA DE FORMACIÓN GENERAL
PROGRAMA ALFABETIZACIÓN DIGITAL
CURSO VIRTUAL
Programación de
Aplicaciones Web
Docente: Lautaro Mallo
MÓDULO 2
Parte 2
Lenguaje PHP
Programa Alfabetización Digital | Programación de Aplicaciones Web
1. Características Generales
PHP (Hypertext Preprocessor) es un lenguaje de programación ampliamente utilizado en el
desarrollo de aplicaciones web dinámicas y páginas interactivas. Desde su creación en 1994
por Rasmus Lerdorf, PHP ha experimentado una evolución significativa, estableciéndose como
uno de los pilares fundamentales del desarrollo web.
Código Abierto: PHP es un lenguaje de código abierto, lo que significa que su código fuente
está disponible gratuitamente para que cualquiera lo use, modifique y distribuya. Esta
característica ha fomentado una gran comunidad de desarrolladores que contribuyen
constantemente a su mejora y expansión.
Interpretado: A diferencia de los lenguajes compilados, PHP es interpretado. Esto significa que
el código PHP se ejecuta en tiempo real por el intérprete del servidor, sin necesidad de un paso
de compilación previo. Esto facilita el desarrollo y la depuración, ya que los cambios en el
código pueden probarse inmediatamente.
Orientado a la Web: PHP fue diseñado específicamente para el desarrollo web, lo que le
permite integrarse fácilmente con HTML, CSS y JavaScript. Esto facilita la creación de páginas
web dinámicas que pueden interactuar con bases de datos, manejar formularios y gestionar
sesiones de usuario.
Soporte para Bases de Datos: PHP tiene un soporte extenso para una amplia variedad de
sistemas de gestión de bases de datos, como MySQL, PostgreSQL, SQLite, Oracle, y Microsoft
SQL Server, entre otros. Esto permite a los desarrolladores elegir la base de datos que mejor se
adapte a sus necesidades y trabajar con ella de manera eficiente.
Multiplataforma: PHP es multiplataforma, lo que significa que puede ejecutarse en varios
sistemas operativos, incluidos Windows, Linux, macOS y Unix. Esto proporciona flexibilidad a
los desarrolladores para elegir el entorno de desarrollo que prefieran.
Extensible: PHP es altamente extensible mediante el uso de extensiones y bibliotecas. Los
desarrolladores pueden crear sus propias extensiones en C para añadir nuevas funcionalidades
o utilizar extensiones existentes que ofrecen características adicionales, como la manipulación
de imágenes, el cifrado y el soporte para servicios web.
Velocidad y Eficiencia: PHP es conocido por su velocidad y eficiencia en la ejecución de scripts
del lado del servidor. Su capacidad para manejar grandes volúmenes de tráfico y procesar
rápidamente solicitudes del servidor lo convierte en una opción popular para sitios web de alto
rendimiento.
Programa Alfabetización Digital | Programación de Aplicaciones Web
Frameworks y CMS: La popularidad de PHP ha dado lugar a la creación de numerosos
frameworks (como Laravel, Symfony y CodeIgniter) y sistemas de gestión de contenidos (CMS)
(como WordPress, Joomla y Drupal). Estos frameworks y CMS proporcionan herramientas y
estructuras predefinidas que facilitan y aceleran el desarrollo de aplicaciones web.
En resumen, PHP es un lenguaje versátil, eficiente y ampliamente utilizado que se adapta
perfectamente al desarrollo de aplicaciones web. Su facilidad de uso, junto con su capacidad
para integrarse con otras tecnologías web, lo convierte en una elección ideal tanto para
desarrolladores novatos como para profesionales experimentados.
2. Funcionamiento del Intérprete del Lenguaje
El intérprete de PHP es una pieza esencial en el proceso de ejecución de aplicaciones web
desarrolladas con este lenguaje. A diferencia de los lenguajes compilados, donde el código
fuente se traduce a código máquina antes de su ejecución, PHP se interpreta en tiempo real,
línea por línea, cuando se recibe una solicitud.
Proceso de Ejecución:
Solicitud del Cliente: Todo comienza cuando un cliente (generalmente un navegador web)
envía una solicitud HTTP para una página PHP específica. Esta solicitud puede contener
parámetros, cookies, y otros datos relevantes para el procesamiento.
Servidor Web: El servidor web (por ejemplo, Apache, Nginx, IIS) recibe la solicitud y, al
reconocer que se trata de un archivo PHP, delega la tarea al intérprete de PHP. Esto se
configura en el servidor web para que ciertos archivos (con extensiones .php) sean procesados
por el intérprete.
Interacción con el Intérprete: El intérprete de PHP lee el archivo solicitado y comienza a
ejecutar el código PHP contenido en él. Durante este proceso, el intérprete puede realizar
varias tareas, como interactuar con bases de datos, leer y escribir archivos, realizar cálculos, y
generar contenido dinámico.
Generación de la Respuesta: El código PHP, al ser ejecutado, genera una salida que
generalmente está en formato HTML. Esta salida puede incluir datos dinámicos obtenidos de
bases de datos, resultados de cálculos, y cualquier otro contenido generado por el código PHP.
Programa Alfabetización Digital | Programación de Aplicaciones Web
Envío de la Respuesta: Una vez que el intérprete ha generado la respuesta completa, esta se
envía de vuelta al servidor web, que a su vez la transmite al cliente que realizó la solicitud. El
navegador web del cliente recibe la respuesta y la renderiza, mostrando la página web
generada.
Caché y Optimización:
Para mejorar el rendimiento, muchos servidores utilizan técnicas de caché. Un motor de caché,
como APCu o OPcache, almacena una versión compilada del código PHP en memoria. Esto
evita que el intérprete tenga que volver a analizar y compilar el código cada vez que se recibe
una solicitud, lo que mejora significativamente el tiempo de respuesta.
Seguridad en el Intérprete:
El intérprete de PHP también incluye varias características de seguridad para proteger contra
amenazas comunes, como la inyección de SQL, el cross-site scripting (XSS) y otros ataques. Es
crucial que los desarrolladores sigan las mejores prácticas de seguridad y mantengan su
instalación de PHP actualizada para mitigar riesgos potenciales.
Configuración del Intérprete:
El comportamiento del intérprete de PHP se puede personalizar mediante la configuración del
archivo php.ini. Este archivo permite ajustar una variedad de opciones, como el tamaño
máximo de los archivos cargados, los límites de memoria, el tiempo máximo de ejecución de
scripts, y las extensiones cargadas. Aquí hay un ejemplo de algunas configuraciones comunes
en php.ini:
ini
Código:
max_execution_time = 30
memory_limit = 128M
upload_max_filesize = 10M
display_errors = On
log_errors = On
error_log = /var/log/php_errors.log
En conclusión, el intérprete de PHP juega un papel crucial en el desarrollo de aplicaciones web
dinámicas. Su capacidad para procesar solicitudes en tiempo real y generar contenido
dinámico, combinado con su flexibilidad y extensibilidad, lo convierte en una herramienta
poderosa para los desarrolladores web.
Programa Alfabetización Digital | Programación de Aplicaciones Web
3. Etiquetas para Embeber PHP
Una de las características distintivas de PHP es su capacidad para ser embebido directamente
dentro de HTML, lo que permite a los desarrolladores crear páginas web dinámicas de manera
eficiente. Las etiquetas de PHP permiten insertar código PHP dentro de un documento HTML,
haciendo que el desarrollo de aplicaciones web sea intuitivo y fácil de gestionar.
Etiquetas Estándar:
La forma más común y recomendada de embeber PHP en HTML es utilizando las etiquetas
estándar. Estas etiquetas están disponibles en todas las configuraciones de PHP y son las más
versátiles y seguras.
php
Código:
<?php
// Código PHP aquí
?>
Ejemplo:
html
Código:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de PHP Embebido</title>
</head>
<body>
<h1>Bienvenido</h1>
<?php
echo "<p>Hola, mundo!</p>";
?>
</body>
</html>
Programa Alfabetización Digital | Programación de Aplicaciones Web
En este ejemplo, el código PHP inserta un párrafo dentro del cuerpo del HTML. Cuando el
servidor procesa este archivo, el intérprete de PHP ejecuta el código y genera la salida
correspondiente, que se inserta en el documento HTML.
Etiquetas Cortas:
PHP también permite el uso de etiquetas cortas para embeber código. Sin embargo, su uso no
está recomendado ya que pueden no estar habilitadas en todas las configuraciones de PHP y
pueden causar problemas de portabilidad.
php
Código:
<?
echo "Este es un ejemplo con etiquetas cortas";
?>
Para habilitar las etiquetas cortas, es necesario modificar la configuración short_open_tag en
el archivo php.ini:
ini
Código:
short_open_tag = On
Etiquetas de Impresión Corta:
Las etiquetas de impresión corta son una variante útil para imprimir valores directamente. Son
una forma abreviada de echo y siempre están disponibles, independientemente de la
configuración de short_open_tag.
php
Código:
<?= $variable; ?>
Ejemplo:
html
Código:
<!DOCTYPE html>
<html>
Programa Alfabetización Digital | Programación de Aplicaciones Web
<head>
<title>Etiquetas de Impresión Corta</title>
</head>
<body>
<h1>Bienvenido</h1>
<?php
$nombre = "Juan";
?>
<p>Hola, <?= $nombre; ?>!</p>
</body>
</html>
En este ejemplo, la etiqueta de impresión corta se utiliza para insertar el valor de la variable
$nombre directamente en el HTML.
Comentarios en PHP:
PHP también permite añadir comentarios dentro del código. Los comentarios son esenciales
para documentar el código y hacer que sea más comprensible para otros desarrolladores (o
para uno mismo en el futuro).
php
Código:
<?php
// Esto es un comentario de una sola línea
/*
Esto es un comentario
de múltiples líneas
*/
?>
Buenas Prácticas:
Seguridad: Evitar el uso de etiquetas cortas a menos que sea absolutamente necesario, ya que
pueden no ser compatibles con todas las configuraciones de PHP y pueden exponer
vulnerabilidades.
Programa Alfabetización Digital | Programación de Aplicaciones Web
Legibilidad: Utilizar comentarios para explicar secciones complejas del código, facilitando la
comprensión y mantenimiento del mismo.
Separación de Lógica y Presentación: Aunque es posible embeber PHP directamente en HTML,
es una buena práctica separar la lógica del negocio de la presentación utilizando frameworks o
arquitecturas MVC (Modelo-Vista-Controlador).
En resumen, la capacidad de embeber PHP directamente en HTML es una de las características
que hace que PHP sea tan poderoso y popular para el desarrollo web. Sin embargo, es
importante seguir las mejores prácticas y utilizar las etiquetas adecuadas para garantizar la
portabilidad, seguridad y mantenibilidad del código.
4. Sintaxis del Lenguaje: Variables y Tipos de Datos
PHP es conocido por su sintaxis sencilla y fácil de aprender, lo que lo convierte en una
excelente opción tanto para desarrolladores principiantes como experimentados. Comprender
la sintaxis básica del lenguaje, así como la declaración y uso de variables y tipos de datos, es
fundamental para el desarrollo de aplicaciones en PHP.
Declaración de Variables:
En PHP, las variables se declaran utilizando el signo de dólar ($) seguido del nombre de la
variable. No es necesario especificar el tipo de dato, ya que PHP es un lenguaje de tipado débil,
lo que significa que el tipo de dato de una variable se determina automáticamente en tiempo
de ejecución.
php
Código:
<?php
$nombre = "Juan";
$edad = 30;
$precio = 19.99;
?>
En este ejemplo, $nombre es una cadena de texto (string), $edad es un entero (integer) y
$precio es un número de punto flotante (float).
Tipos de Datos:
PHP soporta varios tipos de datos primitivos y compuestos. Los más comunes incluyen:
Enteros (Integer): Números enteros positivos o negativos.
Programa Alfabetización Digital | Programación de Aplicaciones Web
php
Código:
$numero = 42;
Flotantes (Float): Números con punto decimal.
php
Código:
$pi = 3.14159;
Cadenas (String): Secuencias de caracteres.
php
Código:
$mensaje = "Hola, mundo!";
Booleanos (Boolean): Valores lógicos true o false.
php
Código:
$esVerdadero = true;
Arreglos (Array): Colección de valores, que pueden ser de diferentes tipos.
php
Código:
$numeros = array(1, 2, 3, 4, 5);
Objetos (Object): Instancias de clases que encapsulan datos y métodos.
php
Código:
class Persona {
public $nombre;
public $edad;
Programa Alfabetización Digital | Programación de Aplicaciones Web
$persona = new Persona();
$persona->nombre = "Juan";
$persona->edad = 30;
NULL: Representa una variable sin valor.
php
Código:
$variable = NULL;
Manipulación de Cadenas:
Las cadenas en PHP se pueden definir utilizando comillas dobles (") o comillas simples ('). La
diferencia principal es que las comillas dobles permiten la interpolación de variables, mientras
que las comillas simples no.
php
Código:
$nombre = "Juan";
echo "Hola, $nombre!"; // Interpolación de variable
echo 'Hola, $nombre!'; // Sin interpolación, se imprime
literalmente
Concatenación de Cadenas:
Para concatenar cadenas en PHP, se utiliza el operador de punto (.).
php
Código:
$saludo = "Hola";
$nombre = "Juan";
echo $saludo . ", " . $nombre . "!"; // Imprime "Hola, Juan!"
Conversión de Tipos:
PHP permite la conversión explícita de tipos mediante el uso de casting.
Programa Alfabetización Digital | Programación de Aplicaciones Web
php
Código:
$entero = 42;
$cadena = (string) $entero; // Convertir entero a cadena
$flotante = (float) $entero; // Convertir entero a flotante
Scope de Variables:
El scope (alcance) de una variable determina dónde puede ser accedida dentro del código. PHP
soporta diferentes niveles de alcance, incluyendo:
Global: Variables declaradas fuera de cualquier función o clase tienen alcance global y pueden
ser accedidas desde cualquier lugar del script.
php
Código:
$globalVar = "Soy global";
function pruebaGlobal() {
global $globalVar;
echo $globalVar;
}
pruebaGlobal(); // Imprime "Soy global"
Local: Variables declaradas dentro de una función tienen alcance local y solo pueden ser
accedidas dentro de esa función.
php
Código:
function pruebaLocal() {
$localVar = "Soy local";
echo $localVar;
}
Programa Alfabetización Digital | Programación de Aplicaciones Web
pruebaLocal(); // Imprime "Soy local"
// echo $localVar; // Error: Variable no definida
Superglobales: PHP proporciona varias variables superglobales que están disponibles en todo
el script, independientemente del alcance. Estas incluyen $_GET, $_POST, $_SESSION,
$_COOKIE, entre otras.
php
Código:
echo $_GET['nombre']; // Accede a un parámetro enviado por URL
En resumen, la comprensión de la sintaxis básica de PHP, junto con la declaración y manejo de
variables y tipos de datos, es esencial para el desarrollo efectivo en este lenguaje. La
flexibilidad de PHP y su capacidad para manejar diferentes tipos de datos hacen que sea una
herramienta poderosa para la creación de aplicaciones web dinámicas.
5. Operadores Lógicos, Aritméticos, de String y de Comparación
PHP proporciona una variedad de operadores que permiten realizar diferentes tipos de
operaciones sobre variables y valores. Estos operadores incluyen operadores aritméticos, de
comparación, lógicos y de manipulación de cadenas. Comprender estos operadores es crucial
para escribir código eficiente y funcional en PHP.
Operadores Aritméticos:
Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas.
Suma (+): Suma dos números.
php
Código:
$a = 5;
$b = 3;
echo $a + $b; // Imprime 8
Resta (-): Resta un número de otro.
php
Código:
Programa Alfabetización Digital | Programación de Aplicaciones Web
echo $a - $b; // Imprime 2
Multiplicación (*): Multiplica dos números.
php
Código:
echo $a * $b; // Imprime 15
División (/): Divide un número por otro.
php
Código:
echo $a / $b; // Imprime 1.6667
Módulo (%): Devuelve el resto de la división de dos números.
php
Código:
echo $a % $b; // Imprime 2
Operadores de Comparación:
Los operadores de comparación se utilizan para comparar dos valores.
Igual (==): Comprueba si dos valores son iguales.
php
Código:
$a = 5;
$b = "5";
var_dump($a == $b); // Imprime bool(true)
Idéntico (===): Comprueba si dos valores son iguales y del mismo tipo.
php
Código:
var_dump($a === $b); // Imprime bool(false)
Programa Alfabetización Digital | Programación de Aplicaciones Web
Diferente (!=): Comprueba si dos valores son diferentes.
php
Código:
var_dump($a != $b); // Imprime bool(false)
No Idéntico (!==): Comprueba si dos valores son diferentes o de diferente tipo.
php
Código:
var_dump($a !== $b); // Imprime bool(true)
Mayor que (>): Comprueba si un valor es mayor que otro.
php
Código:
var_dump($a > 3); // Imprime bool(true)
Menor que (<): Comprueba si un valor es menor que otro.
php
Código:
var_dump($a < 3); // Imprime bool(false)
Mayor o igual que (>=): Comprueba si un valor es mayor o igual que otro.
php
Código:
var_dump($a >= 5); // Imprime bool(true)
Menor o igual que (<=): Comprueba si un valor es menor o igual que otro.
php
Código:
var_dump($a <= 5); // Imprime bool(true)
Operadores Lógicos:
Programa Alfabetización Digital | Programación de Aplicaciones Web
Los operadores lógicos se utilizan para combinar expresiones condicionales.
Y lógico (&&): Devuelve true si ambas expresiones son verdaderas.
php
Código:
$a = true;
$b = false;
var_dump($a && $b); // Imprime bool(false)
O lógico (||): Devuelve true si al menos una de las expresiones es verdadera.
php
Código:
var_dump($a || $b); // Imprime bool(true)
No lógico (!): Invierte el valor lógico de una expresión.
php
Código:
var_dump(!$a); // Imprime bool(false)
Y lógico (and): Similar a && pero con menor precedencia.
php
Código:
var_dump($a and $b); // Imprime bool(false)
O lógico (or): Similar a || pero con menor precedencia.
php
Código:
var_dump($a or $b); // Imprime bool(true)
XOR lógico (xor): Devuelve true si una de las expresiones es verdadera, pero no ambas.
Programa Alfabetización Digital | Programación de Aplicaciones Web
php
Código:
var_dump($a xor $b); // Imprime bool(true)
Operadores de String:
Los operadores de string se utilizan para manipular cadenas de texto.
Concatenación (.): Une dos cadenas de texto.
php
Código:
$cadena1 = "Hola";
$cadena2 = "Mundo";
echo $cadena1 . " " . $cadena2; // Imprime "Hola Mundo"
Concatenación y Asignación (.=): Añade una cadena al final de otra cadena.
php
Código:
$cadena = "Hola";
$cadena .= " Mundo";
echo $cadena; // Imprime "Hola Mundo"
En resumen, los operadores en PHP son herramientas fundamentales para realizar operaciones
matemáticas, comparaciones, combinaciones lógicas y manipulaciones de cadenas.
Comprender cómo y cuándo utilizar estos operadores es crucial para desarrollar aplicaciones
web efectivas y eficientes.
6. Estructuras de Control: If, While y For
Las estructuras de control son fundamentales para dirigir el flujo de ejecución de un programa
basado en condiciones y repeticiones. PHP proporciona varias estructuras de control, entre las
más comunes se encuentran `if`, `while` y `for`.
Estructura If
Programa Alfabetización Digital | Programación de Aplicaciones Web
La estructura `if` permite ejecutar un bloque de código solo si se cumple una condición
específica. Es esencial para la toma de decisiones en un programa.
Sintaxis Básica:
Código:
<?php
$edad = 20;
if ($edad >= 18) {
echo "Eres mayor de edad.";
} else {
echo "Eres menor de edad.";
?>
```
En este ejemplo, el mensaje "Eres mayor de edad." se imprimirá si la variable `$edad` es mayor
o igual a 18; de lo contrario, se imprimirá "Eres menor de edad."
Uso de `elseif`:
La estructura `elseif` permite manejar múltiples condiciones.
Código:
<?php
$nota = 85;
if ($nota >= 90) {
echo "Excelente";
} elseif ($nota >= 75) {
echo "Bueno";
} elseif ($nota >= 50) {
echo "Aprobado";
} else {
Programa Alfabetización Digital | Programación de Aplicaciones Web
echo "Reprobado";
}
?>
```
Aquí, se imprime un mensaje basado en el valor de la variable `$nota`.
Estructura While
La estructura `while` ejecuta un bloque de código mientras una condición sea verdadera.
Sintaxis Básica:
Código:
<?php
$i = 0;
while ($i < 10) {
echo $i;
$i++;
}
?>
```
En este ejemplo, se imprimen los números del 0 al 9. La variable `$i` se incrementa en cada
iteración hasta que deje de cumplir la condición `($i < 10)`.
Estructura Do-While:
A diferencia de `while`, la estructura `do-while` garantiza que el bloque de código se ejecute al
menos una vez antes de verificar la condición.
Código:
<?php
$i = 0;
do {
Programa Alfabetización Digital | Programación de Aplicaciones Web
echo $i;
$i++;
} while ($i < 10);
?>
```
En este ejemplo, se imprimen los números del 0 al 9.
Estructura For
La estructura `for` se utiliza para repetir un bloque de código un número específico de veces,
siendo ideal cuando se conoce de antemano cuántas veces debe ejecutarse el bucle.
Sintaxis Básica:
Código:
<?php
for ($i = 0; $i < 10; $i++) {
echo $i;
}
?>
```
Aquí, se imprimen los números del 0 al 9. La estructura `for` incluye inicialización (`$i = 0`),
condición (`$i < 10`), e incremento (`$i++`).
Uso de `foreach`:
`foreach` se utiliza para iterar sobre cada elemento de un arreglo.
Código:
<?php
$numeros = array(1, 2, 3, 4, 5);
foreach ($numeros as $numero) {
echo $numero;
}
Programa Alfabetización Digital | Programación de Aplicaciones Web
?>
```
Aquí, se imprimen todos los elementos del arreglo `$numeros`.
Interrupción de Bucles
PHP proporciona `break` y `continue` para controlar la ejecución dentro de los bucles.
- `break`: Termina el bucle actual.
Código:
<?php
for ($i = 0; $i < 10; $i++) {
if ($i == 5) {
break;
}
echo $i;
}
?>
```
En este ejemplo, el bucle se detendrá cuando `$i` sea igual a 5.
- `continue`: Salta a la siguiente iteración del bucle.
Código:
<?php
for ($i = 0; $i < 10; $i++) {
if ($i == 5) {
continue;
}
echo $i;
}
?>
```
Programa Alfabetización Digital | Programación de Aplicaciones Web
Aquí, cuando `$i` es igual a 5, `continue` hace que se omita la impresión de 5, pero el bucle
continúa con la siguiente iteración.
En resumen, las estructuras de control `if`, `while` y `for` son herramientas esenciales para
gestionar el flujo de ejecución de un programa en PHP. Permiten tomar decisiones, repetir
bloques de código y manejar múltiples condiciones, lo que resulta en un código más eficiente y
fácil de mantener.
7. Vectores y sus Características
Los vectores, o arreglos, son una de las estructuras de datos más utilizadas en PHP. Permiten
almacenar y manipular colecciones de valores en una sola variable, ofreciendo una forma
flexible y potente de manejar múltiples elementos.
Arreglos Indexados Numéricamente
Un arreglo indexado numéricamente utiliza números enteros como índices. Estos índices
comienzan en 0.
Declaración y Acceso:
Código:
<?php
$frutas = array("Manzana", "Banana", "Cereza");
echo $frutas[0]; // Imprime "Manzana"
?>
```
En este ejemplo, el arreglo `$frutas` contiene tres elementos. Cada elemento se accede
utilizando su índice correspondiente.
Añadir Elementos:
Se pueden añadir elementos a un arreglo utilizando una sintaxis simple.
Código:
<?php
$frutas[] = "Naranja";
Programa Alfabetización Digital | Programación de Aplicaciones Web
?>
```
Esto añade "Naranja" al final del arreglo `$frutas`.
Recorrer un Arreglo:
Se puede utilizar un bucle `foreach` para recorrer todos los elementos de un arreglo.
Código:
<?php
foreach ($frutas as $fruta) {
echo $fruta;
}
?>
```
En este ejemplo, se imprimen todos los elementos del arreglo `$frutas`.
Arreglos Asociativos
Los arreglos asociativos utilizan claves nombradas como índices en lugar de números enteros,
permitiendo una relación clave-valor más descriptiva.
Declaración y Acceso:
Código:
<?php
$persona = array(
"nombre" => "Juan",
"edad" => 30,
"ciudad" => "Buenos Aires"
);
echo $persona["nombre"]; // Imprime "Juan"
?>
```
En este ejemplo, el arreglo `$persona` utiliza claves asociativas para almacenar información.
Programa Alfabetización Digital | Programación de Aplicaciones Web
Añadir Elementos:
Se pueden añadir elementos a un arreglo asociativo de manera similar a un arreglo indexado
numéricamente.
Código:
<?php
$persona["profesión"] = "Contador";
?>
```
Esto añade la clave "profesión" con el valor "Contador" al arreglo `$persona`.
Recorrer un Arreglo Asociativo:
Se puede utilizar un bucle `foreach` para recorrer todos los elementos de un arreglo asociativo.
Código:
<?php
foreach ($persona as $clave => $valor) {
echo "$clave: $valor\n";
}
?>
```
En este ejemplo, se imprimen todas las claves y valores del arreglo `$persona`.
Arreglos Multidimensionales
PHP también soporta arreglos multidimensionales, que son arreglos que contienen otros
arreglos como elementos.
Declaración y Acceso:
Código:
<?php
$matriz = array(
array(1, 2, 3),
Programa Alfabetización Digital | Programación de Aplicaciones Web
array(4, 5, 6),
array(7, 8, 9)
);
echo $matriz[1][2]; // Imprime 6
?>
```
En este ejemplo, `$matriz` es un arreglo de dos dimensiones. El elemento en la segunda fila y
tercera columna (índices 1 y 2) es 6.
Recorrer un Arreglo Multidimensional:
Se puede utilizar bucles `foreach` anidados para recorrer un arreglo multidimensional.
Código:
<?php
foreach ($matriz as $fila) {
foreach ($fila as $elemento) {
echo $elemento . " ";
}
echo "\n";
}
?>
```
Este código imprime todos los elementos de la matriz en forma de tabla.
Funciones de Arreglos
PHP ofrece una amplia gama de funciones integradas para manipular arreglos.
- `count()`: Devuelve el número de elementos en un arreglo.
Código:
echo count($frutas); // Imprime 4
```
Programa Alfabetización Digital | Programación de Aplicaciones Web
- `array_push()`: Añade uno o más elementos al final de un arreglo.
Código:
array_push($frutas, "Melón", "Uva");
```
- `array_merge()`: Combina uno o más arreglos.
Código:
$frutas2 = array("Mango", "Piña");
$todasFrutas = array_merge($frutas, $frutas2);
```
- `array_slice()`: Extrae una parte de un arreglo.
Código:
$algunasFrutas = array_slice($frutas, 1, 2); // Imprime
["Banana", "Cereza"]
```
En resumen, los arreglos en PHP son una herramienta poderosa para manejar colecciones de
datos. Su flexibilidad y las numerosas funciones integradas facilitan la manipulación de datos
de manera eficiente, permitiendo a los desarrolladores crear aplicaciones complejas y
dinámicas.
8. Funciones. Depurar Código en PHP
Las funciones son bloques de código reutilizables que realizan una tarea
específica. En PHP, las funciones permiten modularizar el código, mejorando su organización y
facilitando la reutilización y el mantenimiento. Además, la depuración de código es un aspecto
crucial en el desarrollo de software para identificar y corregir errores.
Declaración y Uso de Funciones
Programa Alfabetización Digital | Programación de Aplicaciones Web
Las funciones en PHP se declaran utilizando la palabra clave `function`, seguida del nombre de
la función, paréntesis para los parámetros (si los hay) y un bloque de código delimitado por
llaves.
Sintaxis Básica:
Código:
<?php
function saludar($nombre) {
return "Hola, " . $nombre . "!";
}
echo saludar("Juan"); // Imprime "Hola, Juan!"
?>
```
En este ejemplo, se define una función llamada `saludar` que toma un parámetro `$nombre` y
devuelve un saludo personalizado.
Funciones con Parámetros Predeterminados:
Las funciones pueden tener parámetros con valores predeterminados que se utilizan si no se
proporciona un valor al llamar a la función.
Código:
<?php
function saludar($nombre = "Mundo") {
return "Hola, " . $nombre . "!";
}
echo saludar(); // Imprime "Hola, Mundo!"
echo saludar("Juan"); // Imprime "Hola, Juan!"
?>
```
Aquí, si no se proporciona un parámetro, la función utiliza el valor predeterminado "Mundo".
Funciones con Múltiples Parámetros:
Programa Alfabetización Digital | Programación de Aplicaciones Web
Las funciones pueden tener múltiples parámetros.
Código:
<?php
function sumar($a, $b) {
return $a + $b;
}
echo sumar(5, 3); // Imprime 8
?>
```
En este ejemplo, la función `sumar` toma dos parámetros y devuelve su suma.
Funciones Recursivas:
Las funciones recursivas son aquellas que se llaman a sí mismas. Son útiles para resolver
problemas que pueden dividirse en subproblemas similares.
Código:
<?php
function factorial($n) {
if ($n == 0) {
return 1;
} else {
return $n * factorial($n - 1);
}
}
echo factorial(5); // Imprime 120
?>
```
En este ejemplo, la función `factorial` calcula el factorial de un número utilizando recursión.
Funciones Anónimas:
Programa Alfabetización Digital | Programación de Aplicaciones Web
PHP también soporta funciones anónimas, que son funciones sin nombre y se pueden asignar a
variables o utilizar como parámetros de otras funciones.
Código:
<?php
$suma = function($a, $b) {
return $a + $b;
};
echo $suma(3, 4); // Imprime 7
?>
```
Las funciones anónimas son útiles para la programación funcional y para definir callbacks.
Depuración de Código en PHP
La depuración es el proceso de encontrar y corregir errores en el código. PHP ofrece varias
herramientas y técnicas para depurar código de manera efectiva.
Uso de `var_dump()`:
La función `var_dump()` muestra información detallada sobre una variable, incluyendo su tipo
y valor.
Código:
<?php
$variable = array(1, 2, 3);
var_dump($variable);
?>
```
Este código imprimirá detalles sobre el arreglo, como el tipo de datos y el número de
elementos.
Uso de `print_r()`:
La función `print_r()` muestra información legible sobre una variable, especialmente útil para
arreglos y objetos.
Programa Alfabetización Digital | Programación de Aplicaciones Web
Código:
<?php
$variable = array("nombre" => "Juan", "edad" => 30);
print_r($variable);
?>
```
Este código imprimirá los contenidos del arreglo de manera legible.
Uso de `error_log()`:
La función `error_log()` envía un mensaje de error a un registro de errores o a un archivo
específico.
Código:
<?php
$error = "Ha ocurrido un error";
error_log($error, 3, "/var/log/php_errors.log");
?>
```
Este código escribirá el mensaje de error en el archivo especificado.
Configuración del Registro de Errores:
En el archivo `php.ini`, se puede configurar PHP para registrar errores.
```
log_errors = On
error_log = /var/log/php_errors.log
```
Esto habilita el registro de errores y especifica el archivo donde se guardarán.
Uso de un IDE con Depurador:
Los Entornos de Desarrollo Integrados (IDE) como PHPStorm, Visual Studio Code y Eclipse
tienen herramientas de depuración integradas que permiten establecer puntos de
interrupción, inspeccionar variables y seguir la ejecución del código paso a paso.
Extensiones de Depuración:
Programa Alfabetización Digital | Programación de Aplicaciones Web
- Xdebug: Es una extensión de PHP que proporciona capacidades avanzadas de depuración y
generación de perfiles.
```
zend_extension=xdebug
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
```
Estas configuraciones en el archivo `php.ini` habilitan Xdebug para la depuración remota.