Fundamentos

Sintaxis Básica de PHP

Objetivos de Aprendizaje
  • Entender la estructura básica de un script PHP
  • Conocer las etiquetas de apertura y cierre de PHP
  • Aprender sobre la separación de instrucciones
  • Comprender los comentarios en PHP
  • Conocer la sensibilidad a mayúsculas y minúsculas

Etiquetas de PHP

Para que el servidor web identifique el código PHP y lo ejecute, necesitamos colocarlo dentro de etiquetas especiales. Las etiquetas estándar de PHP son:

ejemplo.php

<?php
echo 'Hola, Mundo!';
?>
                            

Cuando PHP encuentra estas etiquetas, deja de interpretar el código como HTML y comienza a ejecutarlo como código PHP.

Nota: Aunque existen etiquetas cortas <? ?>, su uso no está recomendado porque pueden estar deshabilitadas en algunas configuraciones de PHP. Siempre usa las etiquetas estándar <?php ?>.

Separación de Instrucciones

En PHP, cada instrucción debe terminar con un punto y coma (;). Esto es similar a otros lenguajes como C, C++ o Java.

ejemplo.php

<?php
echo 'Esta es la primera instrucción<br>';
echo 'Esta es la segunda instrucción.';
echo 'Saludos ' . 'estudiantes.';
?>
                            
Error común: Olvidar el punto y coma al final de una instrucción provoca un error de sintaxis:
ejemplo.php

<?php
echo 'Esta línea provocará un error'
echo 'Porque falta el punto y coma anterior';
?>
                                

Comentarios en PHP

Los comentarios son notas que escribimos en el código para explicar lo que hace. No son ejecutados por el intérprete PHP y sirven para ayudarnos a entender el código en el futuro o para colaborar con otros programadores.

PHP soporta tres tipos de comentarios:

ejemplo.php

<?php
// Este es un comentario de una línea
# Este también es un comentario de una línea
/* Este es un comentario
   de múltiples líneas
   que puede extenderse
   por varias líneas */
echo 'Solo este texto será mostrado en la página';
?>
                            

Sensibilidad a Mayúsculas y Minúsculas

En PHP, algunas cosas son sensibles a mayúsculas y minúsculas (case-sensitive) y otras no:

Elemento Sensibilidad a mayúsculas Ejemplo
Variables Sensible $nombre y $Nombre son diferentes
Constantes definidas por el usuario Sensible (por defecto) define('MICONST', 'valor');
Nombres de funciones No sensible strtoupper() y STRTOUPPER() son iguales
Nombres de clases No sensible class MiClase {} y class MICLASE {} son iguales
Nombres de métodos No sensible miMetodo() y MiMetodo() son iguales
Palabras clave (if, else, while...) No sensible if, IF y If son iguales
ejemplo.php

<?php
$nombre = 'Juan';
$Nombre = 'Pedro';
echo 'nombre: ' . $nombre . '<br>';
echo 'Nombre: ' . $Nombre . '<br>';
?>
                            

PHP Mezclado con HTML

Una de las características más potentes de PHP es la forma en que se puede mezclar con HTML:

ejemplo.php

<!DOCTYPE html>
<html>
<head>
    <title>PHP y HTML</title>
</head>
<body>
    <h1>Bienvenido a mi página</h1>
    <?php
    $hora = date('H');
    if ($hora < 12) {
        echo '¡Buenos días!';
    } elseif ($hora < 18) {
        echo '¡Buenas tardes!';
    } else {
        echo '¡Buenas noches!';
    }
    ?>
    <p>Este es un párrafo normal en HTML.</p>
    <p>Hoy es: <?php echo date('d/m/Y'); ?></p>
    <ul>
        <?php
        for ($i = 1; $i <= 5; $i++) {
            echo "<li>Elemento $i de la lista</li>";
        }
        ?>
    </ul>
</body>
</html>
                            

Entrada de Datos en PHP

En PHP, existen diversas formas de obtener datos de entrada del usuario. Esto es fundamental para crear aplicaciones interactivas.

Usando readline() para Entrada en Consola

La función readline() permite recibir entradas de usuario desde la línea de comandos cuando se ejecuta PHP en modo CLI (Command Line Interface).

entrada_consola.php

<?php
// Solicitar datos al usuario
$nombre = readline('¿Cuál es tu nombre? ');
$edad = readline('¿Cuál es tu edad? ');

// Mostrar los datos
echo "Hola $nombre, tienes $edad años.";

// También se puede usar readline_add_history para conservar entradas anteriores
readline_add_history($nombre);
?>
                            
Nota: La función readline() solo está disponible cuando PHP se ejecuta en modo de línea de comandos (CLI) y requiere tener instalada la extensión readline. No funciona en entornos web.

Entrada de Datos en Entorno Web

En aplicaciones web, la entrada de datos normalmente se recibe a través de formularios HTML usando los métodos GET o POST.

formulario.html

<!DOCTYPE html>
<html>
<body>
    <form method="post" action="procesar.php">
        <label for="nombre">Nombre:</label>
        <input type="text" id="nombre" name="nombre"><br><br>
        
        <label for="edad">Edad:</label>
        <input type="number" id="edad" name="edad"><br><br>
        
        <input type="submit" value="Enviar">
    </form>
</body>
</html>
                            
procesar.php

<?php
// Acceder a los datos del formulario enviados por POST
$nombre = $_POST['nombre'];
$edad = $_POST['edad'];

// Validar la entrada (siempre validar los datos de entrada)
if (empty($nombre) || empty($edad)) {
    echo 'Por favor, complete todos los campos.';
    exit;
}

// Procesar los datos
echo "Hola $nombre, has indicado que tienes $edad años.";
?>
                            

Otras Formas de Capturar Entrada

Variables Predefinidas para Entrada de Datos
  • $_GET: Captura datos enviados por URL o formularios con método GET
  • $_POST: Captura datos enviados por formularios con método POST
  • $_REQUEST: Combina $_GET, $_POST y $_COOKIE
  • $_FILES: Contiene información de archivos subidos mediante formularios
  • $_COOKIE: Variables pasadas a través de cookies
  • $_SESSION: Variables de sesión registradas
Seguridad: Nunca confíes en los datos de entrada del usuario. Siempre valida y limpia los datos antes de procesarlos para evitar vulnerabilidades como inyección SQL o XSS.

Salida de Datos en PHP

PHP ofrece varias formas de mostrar datos:

Formas comunes de mostrar datos
  • echo: Muestra una o más cadenas
  • print: Similar a echo, pero solo puede mostrar una cadena y devuelve un valor (1)
  • printf: Muestra una cadena formateada
  • print_r: Muestra información legible sobre una variable
  • var_dump: Similar a print_r, pero muestra información más detallada
ejemplo.php

<?php
// echo - La forma más común
echo 'Hola ', 'Mundo', '!<br>';

// print - Similar a echo pero solo acepta un argumento
print 'Hola Mundo con print!<br>';

// printf - Para formatear texto
$nombre = 'Ana';
$edad = 25;
printf('Me llamo %s y tengo %d años.<br>', $nombre, $edad);

// print_r - Útil para arrays y objetos
$colores = array('rojo', 'verde', 'azul');
echo 'Array de colores: ';
print_r($colores);
echo '<br>';

// var_dump - Muestra información detallada sobre variables
echo 'Detalles de la variable colores: ';
var_dump($colores);
?>
                            

Mejores Prácticas de Sintaxis

Recomendaciones para escribir código PHP limpio
  • Sangría consistente: Usa 4 espacios (o tabulaciones) para la sangría de bloques de código.
  • Espaciado: Añade espacios alrededor de operadores para mejorar la legibilidad.
  • Comentarios: Usa comentarios para explicar el propósito del código, especialmente en partes complejas.
  • Etiquetas de cierre: Omite la etiqueta de cierre de PHP ?> en archivos que contengan solo código PHP (evita problemas con espacios en blanco).
  • Nomenclatura: Usa nombres descriptivos para variables, funciones, etc.
  • Longitud: Mantén las líneas de código razonablemente cortas (generalmente menos de 80-120 caracteres).

Ejemplo de código bien formateado:

ejemplo.php

<?php
/**
 * Función que calcula el promedio de un array de números
 *
 * @param array $numeros Array de números para calcular el promedio
 * @return float El promedio calculado
 */
function calcularPromedio($numeros) {
    if (empty($numeros)) {
        return 0;
    }
    $suma = 0;
    foreach ($numeros as $numero) {
        $suma += $numero;
    }
    return $suma / count($numeros);
}

$calificaciones = [85, 90, 78, 92, 88];
$promedio = calcularPromedio($calificaciones);
echo 'El promedio es: ' . $promedio;
?>
                            

Ejercicio Práctico

Practica la sintaxis de PHP

Crea un archivo PHP que realice las siguientes tareas:

  1. Muestra un título "Práctica de Sintaxis PHP" usando una etiqueta HTML <h1>
  2. Muestra la fecha actual en formato "Hoy es [día de la semana], [día] de [mes] de [año]"
  3. Añade comentarios que expliquen lo que hace tu código