Si utilizas WordPress, WooCommerce o administras páginas web, probablemente llevas bastante tiempo utilizando PHP aunque nunca hayas escrito una sola línea de este lenguaje.
Aparece constantemente:
“Actualiza la versión de PHP.”
“Este plugin requiere PHP 8.x.”
“Error fatal de PHP.”
“Aumenta el límite de memoria de PHP.”
“Este código tienes que añadirlo en PHP.”
Pero ¿qué es exactamente PHP y qué hace cuando alguien entra en nuestra página?
En esta guía voy a explicarlo desde cero, pensando especialmente en alguien que viene del mundo webmaster y quiere empezar a entender qué ocurre realmente detrás de una web.
¿Qué es PHP?
PHP es un lenguaje de programación utilizado principalmente en el desarrollo web del lado del servidor.
Esta última parte es importante:
lado del servidor.
Cuando alguien entra en una página construida con PHP, normalmente el navegador no recibe directamente el código PHP que existe en nuestro servidor.
El servidor ejecuta ese código y genera una respuesta que posteriormente envía al navegador.
Podemos simplificarlo así:
Usuario → solicita una página → servidor ejecuta PHP → genera respuesta → navegador recibe el resultado
Esto permite crear páginas dinámicas.
Un ejemplo muy sencillo
Imaginemos este código:
<?php
$nombre = "Carlos";
echo "Hola, " . $nombre;
?>
PHP procesa esas instrucciones.
El navegador podría terminar recibiendo simplemente:
Hola, Carlos
El usuario no necesita ejecutar PHP en su ordenador.
El código se ha procesado en el servidor.
¿Para qué sirve PHP?
PHP puede utilizarse para muchísimas tareas relacionadas con aplicaciones web.
Por ejemplo:
-
Procesar formularios.
-
Consultar bases de datos.
-
Crear usuarios.
-
Gestionar sesiones.
-
Generar páginas dinámicas.
-
Procesar información.
-
Crear APIs.
-
Gestionar archivos.
-
Realizar autenticación.
-
Enviar información a otros servicios.
-
Construir aplicaciones completas.
Y, por supuesto, PHP tiene una presencia enorme en el ecosistema WordPress.
WordPress utiliza PHP
Esta probablemente sea la razón por la que muchos webmasters terminamos encontrándonos con PHP.
WordPress utiliza PHP para gran parte de su funcionamiento.
Cuando instalamos:
-
WordPress.
-
Plugins.
-
Themes.
-
WooCommerce.
estamos trabajando con software donde PHP tiene un papel fundamental.
Esto significa que aprender aunque sea PHP básico puede ayudarnos muchísimo a entender WordPress.
¿Necesito saber PHP para utilizar WordPress?
No.
Puedes administrar perfectamente muchas páginas WordPress sin saber programar en PHP.
Pero conocerlo proporciona ventajas.
Por ejemplo, empiezas a comprender mejor:
-
Qué hace un plugin.
-
Cómo funciona un theme.
-
Qué significa un error PHP.
-
Qué es una función.
-
Qué ocurre en
functions.php. -
Cómo funcionan determinados hooks.
-
Por qué aparece un error fatal.
-
Qué implica cambiar de versión de PHP.
No necesitas convertirte en desarrollador profesional para beneficiarte de estos conocimientos.
PHP y HTML no son lo mismo
Esta diferencia es fundamental.
HTML describe principalmente la estructura del contenido que recibirá el navegador.
Por ejemplo:
<h1>Mi página web</h1>
<p>Bienvenido a mi página.</p>
PHP puede generar ese HTML dinámicamente.
Por ejemplo:
<?php
$titulo = "Mi página web";
echo "<h1>" . $titulo . "</h1>";
?>
El servidor procesa PHP y termina enviando HTML al navegador.
¿Dónde se ejecuta PHP?
Normalmente en el servidor donde tenemos alojada nuestra aplicación.
Por eso cuando contratamos hosting encontramos opciones relacionadas con:
versión de PHP
memory_limit
max_execution_time
upload_max_filesize
y otras configuraciones.
Nuestro servidor necesita disponer de un entorno capaz de ejecutar PHP.
¿Qué extensión tienen los archivos PHP?
Normalmente:
.php
Por ejemplo:
index.php
login.php
contacto.php
En WordPress encontraremos multitud de archivos PHP dentro del núcleo, plugins y themes.
Pero una advertencia:
no modificaría archivos de WordPress aleatoriamente para aprender.
Podemos romper fácilmente una instalación.
Es mejor practicar primero en un entorno local o proyecto de prueba.
Tu primer archivo PHP
Podríamos crear:
hola.php
con:
<?php
echo "Hola mundo";
?>
Cuando ese archivo se ejecuta mediante un servidor configurado con PHP, obtendremos:
Hola mundo
Probablemente sea uno de los primeros ejemplos que realiza casi cualquiera cuando empieza.
¿Qué hace echo?
echo permite mostrar contenido.
Por ejemplo:
<?php
echo "Hola DSForo";
?>
La salida sería:
Hola DSForo
También podemos utilizar variables.
Variables en PHP
Una variable nos permite almacenar información.
En PHP suelen comenzar con $.
Por ejemplo:
<?php
$nombre = "Laura";
$edad = 30;
echo $nombre;
?>
Aquí tenemos dos variables:
$nombre
y:
$edad
Podemos utilizarlas posteriormente en nuestro programa.
Trabajar con textos
Los textos o strings pueden almacenarse de esta forma:
$dominio = "dsforo.com";
Después podemos combinar información:
echo "Mi dominio es " . $dominio;
El punto . se utiliza para concatenar cadenas en PHP.
El resultado sería:
Mi dominio es dsforo.com
Números y operaciones
También podemos trabajar con números.
$precio = 20;
$cantidad = 3;
$total = $precio * $cantidad;
echo $total;
Resultado:
60
A partir de conceptos tan sencillos podemos empezar a construir lógica mucho más interesante.
Condicionales
Una aplicación necesita tomar decisiones.
Para eso podemos utilizar estructuras como if.
Ejemplo:
$edad = 25;
if ($edad >= 18) {
echo "Es mayor de edad";
}
También podemos utilizar else:
if ($edad >= 18) {
echo "Es mayor de edad";
} else {
echo "Es menor de edad";
}
Nuestro programa ejecutará un bloque u otro dependiendo de la condición.
Comparaciones
Cuando empezamos con PHP conviene prestar atención a operadores como:
==
===
!=
>
<
>=
<=
Especialmente a la diferencia entre:
=
y:
==
El primero se utiliza para asignar un valor.
Por ejemplo:
$numero = 10;
Mientras que una comparación podría ser:
if ($numero == 10) {
echo "El número es 10";
}
Confundir asignación y comparación es uno de esos errores clásicos cuando estamos aprendiendo.
Arrays
Un array nos permite almacenar diferentes valores.
Por ejemplo:
$lenguajes = [
"PHP",
"JavaScript",
"Python"
];
Podemos acceder a un elemento:
echo $lenguajes[0];
Resultado:
PHP
Los arrays aparecen constantemente en PHP y WordPress.
Arrays asociativos
También podemos utilizar claves descriptivas:
$usuario = [
"nombre" => "Ana",
"email" => "ana@ejemplo.com",
"activo" => true
];
Después:
echo $usuario["nombre"];
obtendría:
Ana
Este tipo de estructuras resulta muy útil para organizar información.
Bucles
Imaginemos que tenemos varios productos y queremos mostrarlos todos.
En lugar de repetir manualmente el mismo código podemos utilizar un bucle.
Por ejemplo:
$productos = [
"Teclado",
"Ratón",
"Monitor"
];
foreach ($productos as $producto) {
echo $producto;
}
foreach aparece muchísimo cuando trabajamos con colecciones de datos.
Funciones
Una función permite agrupar lógica que podemos reutilizar.
Por ejemplo:
function saludar($nombre) {
return "Hola, " . $nombre;
}
echo saludar("Laura");
Resultado:
Hola, Laura
En lugar de repetir el mismo código constantemente, podemos encapsular determinadas operaciones dentro de funciones.
Cuando empiezas a mirar código de WordPress encontrarás funciones por todas partes.
Parámetros y valores de retorno
En nuestro ejemplo:
function saludar($nombre) {
return "Hola, " . $nombre;
}
$nombre es un parámetro.
return devuelve el resultado.
Podemos utilizar la función con diferentes valores:
saludar("Laura");
saludar("Pedro");
saludar("Ana");
La lógica permanece igual.
Cambia la información que recibe.
¿Qué significa null?
null representa la ausencia de un valor.
Por ejemplo:
$telefono = null;
Puede resultar útil cuando una variable todavía no tiene información.
Pero debemos distinguir entre:
-
null -
cadena vacía
-
0 -
false
No representan necesariamente lo mismo.
Estas diferencias empiezan a ser importantes cuando nuestra aplicación crece.
PHP y formularios
Aquí empieza a ponerse interesante para desarrollo web.
Imaginemos un formulario:
<form method="post">
<input type="text" name="nombre">
<button type="submit">Enviar</button>
</form>
PHP puede recibir la información enviada y procesarla.
Conceptualmente podríamos acceder al valor mediante:
$_POST["nombre"]
Pero aquí debemos introducir inmediatamente una advertencia importante.
Nunca confíes directamente en los datos introducidos por el usuario
Si alguien puede enviar información a nuestra aplicación, debemos tratarla como potencialmente no fiable.
Esto incluye:
-
Formularios.
-
Parámetros de URL.
-
Cookies.
-
Cabeceras.
-
Archivos.
-
Datos procedentes de APIs.
No asumiría que porque hemos creado un campo llamado:
nombre
el usuario introducirá necesariamente un nombre normal.
Tenemos que validar los datos.
Validar y escapar no son exactamente lo mismo
Son conceptos que conviene aprender desde el principio.
Validar consiste en comprobar si un dato cumple las condiciones que necesitamos.
Por ejemplo:
¿Es realmente un email?
¿Está dentro del rango permitido?
¿Tiene el formato correcto?
Escapar está relacionado con preparar correctamente la salida para el contexto donde vamos a utilizarla.
Aprender estos conceptos desde el principio evita adquirir hábitos inseguros.
PHP y bases de datos
Una de las funciones más habituales de PHP es comunicarse con una base de datos.
Podemos tener:
usuario → formulario → PHP → base de datos
Por ejemplo, cuando alguien crea una cuenta:
-
Envía el formulario.
-
PHP recibe los datos.
-
Los valida.
-
Guarda la información necesaria.
-
Genera una respuesta.
Lo mismo ocurre cuando consultamos productos, artículos, pedidos o usuarios.
No construyas consultas SQL concatenando datos del usuario
Imaginemos algo conceptualmente parecido a:
$sql = "SELECT * FROM usuarios WHERE email = '" . $_POST["email"] . "'";
Utilizar directamente información controlada por el usuario dentro de una consulta puede provocar vulnerabilidades.
En aplicaciones reales debemos utilizar mecanismos seguros como consultas preparadas y parámetros.
La seguridad no debería añadirse al final del proyecto.
Debe formar parte de cómo escribimos el código.
PDO
Cuando empiezas a investigar cómo conectar PHP con bases de datos seguramente encontrarás PDO.
PDO proporciona una interfaz para trabajar con diferentes sistemas de bases de datos desde PHP.
Un ejemplo conceptual de consulta preparada podría tener una estructura como:
$stmt = $pdo->prepare(
"SELECT * FROM usuarios WHERE email = :email"
);
$stmt->execute([
"email" => $email
]);
No copiaría un fragmento aislado como este directamente a producción sin entender la conexión, gestión de errores y resto de la aplicación.
Pero merece la pena familiarizarse con este patrón.
PHP y MySQL
Esta combinación ha sido extremadamente habitual en desarrollo web.
Muchas aplicaciones utilizan:
PHP + MySQL/MariaDB
WordPress es el ejemplo más cercano para muchos webmasters.
Aprender SQL junto con PHP puede resultar especialmente útil porque empezamos a entender cómo nuestra aplicación almacena y recupera información.
PHP y APIs
PHP también puede utilizarse para consumir APIs externas.
Por ejemplo, nuestra aplicación podría consultar:
-
Una API de pagos.
-
Una API meteorológica.
-
Una API de inteligencia artificial.
-
Una API de transporte.
-
Una API de email.
También podemos crear nuestra propia API utilizando PHP.
Si todavía no tienes claro cómo funciona esta parte, en DSForo ya tenemos publicada la guía qué es una API y para qué sirve, que explica requests, responses, endpoints, JSON y otros conceptos desde cero.
PHP y JSON
Cuando trabajamos con APIs encontraremos JSON constantemente.
PHP puede convertir estructuras a JSON y también interpretar respuestas recibidas en ese formato.
Por ejemplo:
$usuario = [
"nombre" => "Laura",
"activo" => true
];
echo json_encode($usuario);
Podría generar una respuesta JSON que otra aplicación pueda interpretar.
Aquí empieza a verse cómo PHP puede funcionar no solamente para generar páginas HTML, sino también como backend para otras aplicaciones.
¿PHP sirve únicamente para WordPress?
No.
WordPress es importantísimo dentro del ecosistema PHP, pero PHP puede utilizarse para desarrollar aplicaciones completamente independientes.
Podemos crear:
-
APIs.
-
Paneles.
-
Aplicaciones SaaS.
-
Sistemas internos.
-
Ecommerce.
-
Herramientas.
-
Plataformas.
-
Backends.
También existen frameworks que proporcionan estructuras completas para desarrollar aplicaciones.
¿Qué es un framework?
Un framework proporciona herramientas, convenciones y componentes para ayudarnos a construir aplicaciones.
En lugar de desarrollar absolutamente todo desde cero, podemos trabajar sobre una estructura preparada para resolver problemas habituales.
En PHP encontraremos diferentes frameworks.
Pero si estás empezando desde cero, yo no tendría demasiada prisa por aprender uno.
Primero intentaría comprender bien PHP básico.
Aprende primero el lenguaje
Antes de depender completamente de un framework intentaría entender:
-
Variables.
-
Condicionales.
-
Arrays.
-
Bucles.
-
Funciones.
-
Clases.
-
Errores.
-
HTTP.
-
Formularios.
-
Bases de datos.
-
Seguridad básica.
Después, cuando utilicemos un framework, entenderemos mucho mejor qué está haciendo por nosotros.
Programación orientada a objetos
A medida que avancemos encontraremos conceptos como:
-
Clases.
-
Objetos.
-
Métodos.
-
Propiedades.
-
Herencia.
-
Interfaces.
Por ejemplo:
class Usuario
{
public string $nombre;
public function saludar(): string
{
return "Hola " . $this->nombre;
}
}
Al principio puede parecer bastante más complicado que escribir unas pocas funciones.
No intentaría aprender toda la programación orientada a objetos durante el primer día.
Primero dominaría los fundamentos.
¿Qué es Composer?
Cuando avances con PHP aparecerá Composer constantemente.
Composer es una herramienta utilizada para gestionar dependencias de proyectos PHP.
En lugar de descargar manualmente librerías y copiarlas dentro de nuestro proyecto, podemos declarar las dependencias que necesitamos y gestionarlas de una forma mucho más organizada.
Entender Composer se vuelve especialmente importante cuando empezamos a trabajar con aplicaciones PHP modernas.
No descargues librerías de cualquier sitio
Si nuestro proyecto necesita una dependencia, debemos prestar atención a su procedencia y mantenimiento.
Instalar código externo significa ejecutar código escrito por terceros dentro de nuestra aplicación.
Comprobaría:
-
Proyecto oficial.
-
Mantenimiento.
-
Documentación.
-
Dependencias.
-
Historial.
-
Versiones.
La cadena de dependencias también forma parte de la seguridad.
Versiones de PHP
Otra cosa que confunde bastante a los webmasters.
PHP evoluciona y existen diferentes versiones.
Nuestro hosting puede permitir seleccionar una versión concreta.
Pero no cambiaría de versión a ciegas en una web importante.
Antes comprobaría:
-
Aplicación.
-
WordPress, si corresponde.
-
Plugins.
-
Theme.
-
Código personalizado.
-
Dependencias.
Una versión nueva puede introducir mejoras, pero nuestro código también debe ser compatible.
¿Por qué una actualización de PHP puede romper una web?
Porque una aplicación puede utilizar funciones, comportamientos o código que ya no sean compatibles con la nueva versión.
Esto ocurre especialmente en proyectos antiguos que llevan mucho tiempo sin actualizarse.
Por eso en una web importante realizaría:
backup → entorno de pruebas → actualización → comprobaciones → producción
en lugar de cambiar directamente y esperar que todo funcione.
Los errores de PHP pueden ayudarnos
Cuando estamos aprendiendo, un error puede parecer simplemente:
No funciona.
Pero los mensajes de error contienen información muy útil.
Pueden indicarnos:
-
Archivo.
-
Línea.
-
Tipo de error.
-
Función implicada.
Aprender a leer errores es una de las habilidades más importantes en programación.
No intentaría solucionar todo copiando inmediatamente el mensaje en una IA.
Primero intentaría entender qué está diciendo.
Warning, Notice, Deprecated y Fatal Error
Podemos encontrarnos diferentes tipos de mensajes.
No todos tienen exactamente la misma gravedad.
Un Fatal Error, por ejemplo, puede impedir que el programa continúe ejecutándose.
Los avisos de funciones obsoletas pueden indicarnos que determinado código debería actualizarse pensando en compatibilidad futura.
Cuando mantenemos una web antigua, estos mensajes pueden ayudarnos a detectar deuda técnica.
No muestres errores sensibles en producción
Durante desarrollo puede resultar útil mostrar errores detallados.
Pero en una aplicación pública debemos tener cuidado.
Un mensaje puede revelar:
-
Rutas del servidor.
-
Nombres de archivos.
-
Consultas.
-
Estructura interna.
-
Información técnica.
En producción suele ser preferible registrar los errores de forma segura y mostrar al usuario un mensaje apropiado.
Logs
Los registros o logs nos ayudan a investigar qué ha ocurrido.
Si una aplicación falla únicamente algunas veces, un buen sistema de logs puede ser muchísimo más útil que intentar reproducir el problema a ciegas.
Podemos registrar información como:
-
Fecha.
-
Error.
-
Contexto.
-
Operación.
Pero tampoco deberíamos guardar alegremente contraseñas, tokens u otros secretos dentro de los logs.
php.ini
Cuando administramos hosting podemos encontrarnos referencias a php.ini.
Es uno de los mecanismos mediante los que puede configurarse PHP.
Ahí aparecen ajustes relacionados con límites y comportamiento del entorno.
Por ejemplo, dependiendo de la instalación podemos encontrarnos parámetros relacionados con:
-
Memoria.
-
Tamaño de subida.
-
Tiempo de ejecución.
-
Registro de errores.
No modificaría valores aleatoriamente porque un tutorial diga:
Pon esto en 999999.
Primero entendería qué problema estamos intentando solucionar.
memory_limit
Este parámetro establece un límite de memoria que puede utilizar un proceso PHP en determinadas condiciones.
Cuando WordPress muestra problemas relacionados con memoria, a veces encontramos tutoriales recomendando aumentar el valor.
Puede ser necesario.
Pero también preguntaría:
¿por qué estamos consumiendo tanta memoria?
Aumentar el límite puede solucionar el síntoma sin solucionar la causa.
max_execution_time
Está relacionado con cuánto tiempo puede ejecutarse un script antes de alcanzar determinado límite, según la configuración y el entorno.
Una importación grande puede necesitar más tiempo.
Pero un script que tarda eternamente también puede indicar un problema.
No convertiría todos los límites en infinitos para evitar investigar.
PHP y rendimiento
PHP puede formar parte del rendimiento general de nuestra web, pero no es la única pieza.
Tenemos:
servidor + PHP + aplicación + base de datos + caché + servicios externos + frontend
Si WordPress tarda mucho en responder, necesitamos identificar dónde está el cuello de botella.
Cambiar una única configuración no garantiza resolverlo.
PHP y caché
En aplicaciones web podemos evitar repetir determinados trabajos continuamente mediante diferentes estrategias de caché.
Si generamos exactamente la misma información miles de veces, quizá no sea necesario ejecutar todo el proceso desde cero para cada visita.
Dependiendo de nuestra arquitectura podemos utilizar diferentes niveles de caché.
Pero la caché también introduce complejidad.
Especialmente cuando necesitamos invalidarla correctamente.
El clásico problema: “he cambiado algo y no aparece”
Cuando trabajamos con diferentes sistemas de caché podemos modificar código y seguir viendo una versión anterior.
Entonces pensamos:
PHP no está ejecutando mi cambio.
Y quizá estamos viendo una respuesta almacenada.
Cuando depuramos conviene saber qué capas de caché existen en nuestro proyecto.
PHP y seguridad
Si queremos desarrollar aplicaciones reales, aprender seguridad básica es obligatorio.
Algunos temas que estudiaría pronto son:
-
Validación de entradas.
-
Escape de salidas.
-
SQL injection.
-
XSS.
-
CSRF.
-
Gestión de sesiones.
-
Contraseñas.
-
Permisos.
-
Subida de archivos.
-
Gestión de secretos.
No hace falta convertirse inmediatamente en especialista en ciberseguridad.
Pero sí evitar los errores más básicos.
Nunca almacenes contraseñas como texto plano
Si nuestra aplicación gestiona usuarios, no deberíamos guardar:
contraseña = pepe123
directamente en la base de datos.
PHP proporciona mecanismos específicamente diseñados para trabajar con hashes de contraseñas.
Por ejemplo, encontraremos funciones como:
password_hash()
y:
password_verify()
No inventaría mi propio sistema criptográfico.
Utilizaría mecanismos ampliamente establecidos y documentación actualizada.
Cuidado con las subidas de archivos
Permitir que un usuario suba archivos a nuestro servidor puede convertirse en una funcionalidad delicada.
No confiaría únicamente en:
“el archivo termina en .jpg”
para decidir que es seguro.
Necesitamos pensar en:
-
Tipo.
-
Tamaño.
-
Nombre.
-
Ubicación.
-
Permisos.
-
Procesamiento.
-
Acceso posterior.
Una subida insegura puede convertirse en un problema serio.
PHP y sesiones
Las sesiones permiten mantener información asociada a un usuario entre diferentes peticiones.
Por ejemplo:
usuario inicia sesión → navega por diferentes páginas → aplicación sabe quién es
Este mecanismo parece sencillo desde fuera, pero implica decisiones de seguridad importantes.
Cuando construyamos autenticación real debemos estudiar correctamente gestión de sesiones, cookies y permisos.
No construyas tu propio sistema de login solamente para “hacerlo diferente”
Crear un formulario de usuario es fácil.
Crear un sistema de autenticación robusto requiere bastante más trabajo.
Para proyectos reales aprovecharía componentes y frameworks maduros cuando sea apropiado.
Aprender construyendo un login sencillo puede ser útil.
Utilizar nuestro primer experimento como sistema de autenticación de una aplicación crítica ya es otra cosa.
PHP en local
Para aprender no necesitamos modificar directamente nuestra web pública.
Podemos configurar un entorno de desarrollo local en nuestro ordenador.
Así podemos:
-
Romper cosas.
-
Probar código.
-
Crear bases de datos.
-
Mostrar errores.
-
Experimentar.
sin afectar a usuarios reales.
Esto es especialmente recomendable si administramos una web que ya recibe tráfico.
Desarrollo y producción deberían estar separados
Una mala práctica sería editar directamente archivos críticos de una web pública cada vez que queremos probar algo.
Una estructura más profesional separa:
desarrollo
pruebas/staging
producción
No todos los pequeños proyectos necesitan una infraestructura empresarial gigantesca.
Pero al menos evitaría experimentar sobre la única copia funcional de una web importante.
Git
Cuando empezamos a programar seriamente también merece la pena aprender control de versiones.
Git nos permite registrar cambios en nuestro código y trabajar de una forma mucho más organizada.
Si algo deja de funcionar podemos investigar qué cambió.
También facilita trabajar con otras personas.
No esperaría a tener un proyecto gigantesco para aprender los fundamentos.
No subas secretos al repositorio
Otra regla importantísima.
No deberíamos incluir en un repositorio público:
-
Contraseñas.
-
API keys.
-
Credenciales de bases de datos.
-
Tokens.
-
Secretos privados.
Aunque posteriormente eliminemos el archivo, el secreto podría permanecer en el historial.
Si una credencial se ha expuesto, debemos considerar rotarla.
¿PHP está muerto?
Esta pregunta lleva apareciendo desde hace años.
Y para alguien que llega nuevo puede generar bastante confusión.
En lugar de decidir qué lenguaje aprender basándonos en titulares del tipo:
X está muerto.
miraría qué quiero construir.
Si trabajamos con WordPress, WooCommerce o una infraestructura donde PHP tiene un papel central, aprender PHP puede ser extremadamente útil.
La pregunta práctica debería ser:
¿me ayuda esta tecnología a construir o mantener los proyectos que me interesan?
¿PHP o JavaScript?
No necesariamente tenemos que elegir uno para toda nuestra carrera.
JavaScript tiene un papel fundamental en el navegador y también puede utilizarse en servidor mediante diferentes tecnologías.
PHP está muy orientado históricamente al desarrollo web del lado servidor.
Aprender ambos puede tener muchísimo sentido.
De hecho, en muchas aplicaciones encontraremos:
PHP en backend
y:
JavaScript en frontend
trabajando juntos.
¿PHP o Python?
Otra comparación habitual.
Python tiene un ecosistema enorme y se utiliza en muchos ámbitos diferentes.
PHP tiene una presencia especialmente importante en desarrollo web.
La elección depende de lo que queramos hacer.
Si tu objetivo inmediato es modificar WordPress y entender mejor sus plugins y themes, PHP tiene una relación directa con ese trabajo.
Si tu objetivo es otro, quizá tenga sentido estudiar diferentes opciones.
No intentes aprender cinco lenguajes simultáneamente
Cuando empezamos vemos:
PHP.
JavaScript.
Python.
Go.
Rust.
Java.
Y queremos aprenderlos todos.
Yo escogería primero uno relacionado con el tipo de proyecto que quiero construir.
Aprendería los fundamentos de programación.
Después resulta mucho más sencillo aprender otros lenguajes porque muchos conceptos se repiten.
Un buen primer proyecto PHP
No empezaría intentando construir un nuevo Facebook.
Haría algo pequeño.
Por ejemplo:
gestor de tareas
con:
-
Crear tarea.
-
Listar tareas.
-
Editar tarea.
-
Marcar completada.
-
Eliminar tarea.
Este proyecto nos obliga a practicar:
-
Formularios.
-
PHP.
-
Base de datos.
-
CRUD.
-
Validación.
-
HTML.
-
Errores.
Y es suficientemente pequeño para terminarlo.
¿Qué significa CRUD?
CRUD representa cuatro operaciones básicas:
Create
Crear.
Read
Leer.
Update
Actualizar.
Delete
Eliminar.
Muchísimas aplicaciones consisten, en parte, en realizar estas operaciones sobre diferentes tipos de información.
Usuarios.
Productos.
Pedidos.
Artículos.
Comentarios.
Tareas.
Aprender a crear un CRUD sencillo es un ejercicio excelente.
Después crearía algo que realmente vaya a utilizar
Cuando ya conozcamos los fundamentos, construiría una herramienta pequeña para resolver un problema propio.
Puede ser:
-
Organizador.
-
Dashboard.
-
Sistema de notas.
-
Herramienta SEO interna.
-
Inventario.
-
Gestor de enlaces.
-
Pequeña API.
Cuando nosotros mismos utilizamos el proyecto aparecen problemas reales que los tutoriales no siempre enseñan.
Ruta para aprender PHP desde cero
Si empezara hoy, seguiría aproximadamente este orden:
1. Sintaxis básica
Variables, tipos y operadores.
2. Condicionales
if, else, comparaciones.
3. Arrays
Simples y asociativos.
4. Bucles
foreach, for, etc.
5. Funciones
Parámetros y retornos.
6. Formularios y HTTP
GET y POST.
7. Bases de datos
SQL, PDO y consultas preparadas.
8. Seguridad
Validación, escape y autenticación.
9. Programación orientada a objetos
Clases y objetos.
10. Composer
Dependencias.
11. APIs
Consumir y crear servicios.
12. Proyecto completo
Construir algo sin seguir un tutorial paso por paso.
¿Hace falta memorizar todo?
No.
Programar no consiste en recordar cada función existente.
Lo importante es entender conceptos y saber encontrar documentación cuando la necesitamos.
Incluso desarrolladores con años de experiencia consultan constantemente documentación.
Intentaría memorizar fundamentos mediante práctica.
No listas interminables de funciones.
Leer código también enseña
Una vez tengas una base mínima, abrir pequeños proyectos y estudiar cómo están construidos puede ser muy útil.
Pregúntate:
¿Dónde empieza la aplicación?
¿Cómo recibe datos?
¿Dónde valida?
¿Cómo consulta la base?
¿Cómo genera la respuesta?
Al principio entenderás muy poco.
Con el tiempo empezarás a reconocer patrones.
No copies código que no entiendes en una web importante
Actualmente podemos conseguir código en segundos mediante buscadores, foros o inteligencia artificial.
Eso es fantástico.
Pero también facilita pegar:
// 80 líneas que no entiendo
dentro de una web en producción.
Antes de ejecutar código intentaría entender al menos:
-
Qué recibe.
-
Qué modifica.
-
Qué devuelve.
-
A qué archivos accede.
-
Si consulta la base.
-
Si utiliza servicios externos.
-
Qué permisos necesita.
Especialmente cuando el código procede de una fuente desconocida.
PHP puede ser una buena puerta de entrada para webmasters
Para alguien que ya utiliza WordPress, PHP tiene una ventaja:
podemos relacionar inmediatamente lo aprendido con herramientas que ya conocemos.
De repente empiezan a tener sentido:
functions.php
los plugins,
los themes,
los errores fatales,
las versiones del servidor,
las consultas,
los hooks,
las APIs.
No hace falta convertirse en desarrollador senior.
Entender qué está ocurriendo ya cambia muchísimo la forma de administrar una web.
Conclusión
PHP es un lenguaje de programación especialmente importante dentro del desarrollo web y sigue siendo una tecnología que cualquier usuario de WordPress termina encontrándose tarde o temprano.
Si estás empezando, no intentaría aprender todo a la vez.
Comenzaría con:
variables → condicionales → arrays → bucles → funciones → formularios → bases de datos → seguridad
y construiría pequeños proyectos.
Después avanzaría hacia programación orientada a objetos, Composer, APIs y frameworks según las necesidades.
Lo importante es pasar cuanto antes de:
leer tutoriales
a:
escribir código.
Aunque al principio solamente consigas mostrar un “Hola mundo”.
Todos empezamos por algo.
¿Utilizáis PHP habitualmente en vuestros proyectos o solamente os encontráis con él al trabajar con WordPress? ¿Qué fue lo que más os costó entender cuando empezasteis?