PHP para principiantes: ¿Cómo empezar con este lenguaje?

  • Autor Autor h1n1
  • Fecha de inicio Fecha de inicio
H

h1n1

Eta
Verificación en dos pasos activada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
PHP es un lenguaje de programación diseñado principalmente para el desarrollo web. Se ejecuta en el lado del servidor, lo que significa que procesa la información antes de que la página llegue al navegador del usuario. Es una herramienta clave para crear páginas web dinámicas, como tiendas en línea, blogs y foros.



Características clave​



  • Código de servidor: El código PHP se ejecuta en un servidor web y genera HTML, que luego se envía al navegador del cliente. Esto lo diferencia de lenguajes como JavaScript, que se ejecutan directamente en el navegador.
  • Código incrustado: El código PHP se puede insertar directamente dentro de un archivo HTML, lo que facilita combinar la lógica del servidor con el diseño de la página.
  • Multiplataforma: PHP puede usarse en la mayoría de los sistemas operativos (Windows, Linux, macOS) y es compatible con los servidores web más comunes (Apache, Nginx).
  • Bases de datos: Es muy popular para interactuar con bases de datos como MySQL, lo que es esencial para sitios web que necesitan almacenar datos de usuarios o productos.



Ejemplo de código: Saludo simple​



Este ejemplo muestra cómo incrustar código PHP en un archivo HTML para mostrar un mensaje.

PHP

&lt;!DOCTYPE html&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br> &lt;title&gt;Ejemplo PHP&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br><br> &lt;h1&gt;Mi primera página con PHP&lt;/h1&gt;<br><br> <span>&lt;?php</span><br> <span>// Esto es un comentario en PHP.</span><br> <span>$saludo</span> = <span>"¡Hola, mundo!"</span>; <span>// Declara una variable.</span><br> <span>echo</span> <span>$saludo</span>; <span>// Imprime el contenido de la variable.</span><br> <span>?&gt;</span><br><br>&lt;/body&gt;<br>&lt;/html&gt;<br>
Explicación:

El código PHP está dentro de las etiquetas <?php y ?>.

  • $saludo = "¡Hola, mundo!";: Define una variable llamada $saludo y le asigna un valor de texto. En PHP, las variables siempre empiezan con el signo de dólar ($).
  • echo $saludo;: Es una instrucción que imprime el valor de la variable $saludo en la página web.



Ejemplo de código: Procesar un formulario​



Este código muestra cómo PHP puede recibir y procesar datos enviados desde un formulario web.

HTML

<span>&lt;<span>form</span> <span>action</span>=<span>"saludo.php"</span> <span>method</span>=<span>"post"</span>&gt;</span><br> <span>&lt;<span>label</span> <span>for</span>=<span>"nombre"</span>&gt;</span>Introduce tu nombre:<span>&lt;/<span>label</span>&gt;</span><span>&lt;<span>br</span>&gt;</span><br> <span>&lt;<span>input</span> <span>type</span>=<span>"text"</span> <span>id</span>=<span>"nombre"</span> <span>name</span>=<span>"nombre"</span>&gt;</span><span>&lt;<span>br</span>&gt;</span><span>&lt;<span>br</span>&gt;</span><br> <span>&lt;<span>input</span> <span>type</span>=<span>"submit"</span> <span>value</span>=<span>"Enviar"</span>&gt;</span><br><span>&lt;/<span>form</span>&gt;</span><br>
Este formulario envía el dato nombre a un archivo llamado saludo.php.

PHP

&lt;!DOCTYPE html&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br> &lt;title&gt;Saludo&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br> <span>&lt;?php</span><br> <span>// Comprueba si se envió el dato 'nombre'</span><br> <span>if</span> (<span>isset</span>(<span>$_POST</span>[<span>"nombre"</span>])) {<br> <span>$nombre</span> = <span>$_POST</span>[<span>"nombre"</span>];<br> <span>echo</span> <span>"&lt;h1&gt;¡Hola, "</span> . htmlspecialchars(<span>$nombre</span>) . <span>"!&lt;/h1&gt;"</span>;<br> } <span>else</span> {<br> <span>echo</span> <span>"&lt;h1&gt;No se ha enviado un nombre.&lt;/h1&gt;"</span>;<br> }<br> <span>?&gt;</span><br>&lt;/body&gt;<br>&lt;/html&gt;<br>
Explicación:

  • $_POST["nombre"]: Es una variable especial de PHP (un arreglo) que contiene los datos enviados por el formulario. $_POST se usa porque el formulario tiene method="post".
  • if (isset($_POST["nombre"])): Comprueba si la variable con el nombre del formulario ($_POST["nombre"]) existe. Esto evita errores si alguien intenta acceder a la página sin usar el formulario.
  • echo "¡Hola, " . htmlspecialchars($nombre) . "!": Imprime el saludo. El punto (.) se usa para concatenar (unir) el texto con el valor de la variable. La función htmlspecialchars se usa por seguridad para evitar la inyección de código malicioso.
 
¡Excelente introducción al PHP! Has cubierto las características fundamentales y ejemplos prácticos muy bien. Esto será de gran ayuda para quienes comienzan en el desarrollo web. ¡Sigue compartiendo más contenido así!
 
¡Hola a todos!

Quería ampliar una idea que a menudo se pasa por alto cuando se empieza con PHP y que es fundamental para sacarle el máximo provecho: entender su modelo de ejecución Request/Response (Petición/Respuesta) y cómo funciona su motor interno. No es solo escribir código, sino comprender cómo PHP lo ejecuta.



El Modelo Clásico de PHP: Petición y Respuesta (Request/Response)

Para los que venimos de otros lenguajes o estamos empezando, es crucial entender que PHP, en su forma más tradicional (especialmente con Apache o Nginx + PHP-FPM), opera bajo un modelo "share-nothing" o de vida corta.

¿Qué significa esto? Imagina que PHP es un empleado muy eficiente pero con amnesia a corto plazo.

  1. Llega una petición (Request): Un usuario visita tu página index.php. El servidor web (como Apache) se da cuenta y le pasa el trabajo al intérprete de PHP.
  2. PHP se "despierta": Se inicia un proceso de PHP completamente nuevo. Este proceso lee tu script, inicializa variables, se conecta a la base de datos, ejecuta la lógica y genera una página HTML como resultado.
  3. Envía la respuesta (Response): Una vez que el HTML está listo, PHP se lo devuelve al servidor web, que a su vez se lo envía al navegador del usuario.
  4. PHP "olvida" todo: Aquí está la clave. Una vez entregada la respuesta, el proceso de PHP termina. Libera toda la memoria, cierra las conexiones y "olvida" todo lo que acaba de hacer.
Este ciclo se repite con cada petición. Si 100 usuarios visitan la página, se ejecutan 100 ciclos independientes.

¿Por qué es importante saber esto?
  • Aislamiento: Cada petición es independiente. Un error en una no afecta a las demás.
  • Simplicidad: Es un modelo fácil de entender y depurar. No hay que preocuparse por gestionar estados complejos o fugas de memoria entre peticiones.
  • Rendimiento: Para muchas aplicaciones web, este modelo es increíblemente rápido y eficiente, ya que no acumula recursos.
Este funcionamiento es muy diferente al de entornos como Node.js, donde la aplicación es un proceso de larga duración. Node.js arranca una vez, carga todo en memoria y permanece activo, gestionando múltiples peticiones de forma asíncrona dentro de ese mismo proceso.




¿Por Qué Deberías Entender el Motor de PHP (Zend Engine)?



Saber que PHP funciona así te ayuda a escribir mejor código. Comprender, aunque sea a un nivel básico, cómo el Zend Engine (el corazón de PHP) compila tu script a "Opcodes" y los ejecuta, te da una ventaja para:

  • Optimizar el rendimiento: Entenderás por qué ciertas prácticas son más rápidas que otras.
  • Manejar recursos: Serás más consciente de cómo y cuándo abrir conexiones a bases de datos o ficheros.
  • Apreciar herramientas como OPcache: OPcache guarda los "Opcodes" precompilados en memoria, evitando que PHP tenga que traducir el mismo script una y otra vez en cada petición, lo que dispara el rendimiento.


Llevando a PHP al Siguiente Nivel: Servidores de Aplicaciones


Ahora, ¿significa que PHP está "atascado" en este modelo? ¡Para nada!

Aquí es donde entran en juego herramientas modernas y extensiones que transforman a PHP en un servidor de aplicaciones de alto rendimiento, similar a Node.js o Go. Proyectos como Swoole, RoadRunner o ReactPHP cambian las reglas del juego.

Estas extensiones permiten que PHP:

  • Se ejecute como un proceso persistente: Tu aplicación arranca una vez y se queda corriendo en memoria.
  • Maneje concurrencia real: Puede gestionar miles de conexiones simultáneas de forma asíncrona y eficiente.
  • Controle el estado del servidor: Permite compartir datos entre peticiones (pools de conexiones a BD, caches en memoria, etc.) y construir aplicaciones en tiempo real como chats, juegos o notificaciones push.
Básicamente, estas herramientas le dan a PHP superpoderes, permitiéndole entrar en terrenos donde antes dominaban otros lenguajes, pero manteniendo la sintaxis y el ecosistema que ya conocemos.



En Resumen


Para cualquier principiante en PHP, mi consejo es:

  1. Domina el modelo Request/Response: Es la base de todo y la necesitarás en el 90% de los proyectos.
  2. Sé curioso sobre el motor interno: No necesitas ser un experto, pero entender los conceptos básicos te hará un mejor programador.
  3. Explora el futuro: Cuando te sientas cómodo, echa un vistazo a herramientas como Swoole o RoadRunner. Te mostrarán un potencial de PHP que quizás no imaginabas.
Espero que esta explicación más detallada ayude a aclarar estos conceptos. ¡Abro el debate para que compartamos más ideas!
 
Voy a apuntar este hilo se ve interesante.
 
Es muy buena idea aprender php en estos tiempos, osea Wordpress aun sigue dominando y aprender a manejar servidores y manipulación de datos para el ámbito web aun va de maravilla si ya tienen introducción avanzada al lenguaje puedes probara a aprender POO (programacion-orientada-objetos) con eso podrán hacer maravillas en la web
 
Bueno, un poco tarde llego a este tema (una disculpa de antemano). Aprendí php hace poco más de 20 años cuando ASP se quedó corto para lo que necesitaba hacer y creo que me fue bastante bien.

Actualmente sigo trabajando con php pues me he dedicado a desarrollar sistemas en este lenguaje, además trabajo con Wordpress y como se ha mencionado, es la base para montar web en internet fácilmente, así que muy agradecido con la existencia de este lenguaje.
 
Tienes algún canal para aprender desde 0 este lenguaje de programación
 
¿Por qué prefieres usar solo PHP? Node.js también es un lenguaje moderno y de gran éxito.
 
¿Por qué prefieres usar solo PHP? Node.js también es un lenguaje moderno y de gran éxito.
En realidad, Node.js no es un lenguaje, es un entorno de ejecución (runtime) para JavaScript. También existen otros runtimes como Bun, Deno, etc.

La comparación más correcta sería PHP vs JavaScript en el servidor (Node, Bun, Deno). Y como extra seria comparar versiones ya que ambos lenguajes dieron saltos grandes esta ultima decada, aunque PHP como lenguaje es quien dio mayor avanze, en cambio JavaScript, tuvo aportes que llegaron a cubrir falencias, JSDOC, TypescrIpt, tools. etc etc.

Elegir PHP puede depender de varios factores: el ecosistema, el rendimiento en cierto tipo de aplicaciones, tu experiencia previa (por ejemplo con WordPress), el tooling, entre otros. No es que Node.js/Bun/Deno no sean válidos; ambos tienen casos de uso donde destacan y siempre es bueno evaluar según el contexto.

En mi caso particular:
  • Monto proyectos PHP simples (PWAs con lógica o seguridad básica) que muchas veces se despliegan en hosting gratuito
  • PHP es un lenguaje que domino bastante, me siento cómodo con él
  • Tengo varias librerías propias alrededor de PHP que me facilitan el desarrollo
Por otro lado, Bun ha dado una patada a la mesa:
  • Instalación Multiplataforma con una sola línea de código
  • Soporte nativo para TypeScript (mejor autocompletado y experiencia en IDEs)
  • Originalmente estaba escrito en Zig, pero recientemente (mayo 2026) fue reescrito experimentalmente en Rust, ayudado fuertemente por IA (Claude Code de Anthropic, que ahora es dueño de Bun)
  • La reescritura pasó 99.8% del test suite y fue merged en main en mayo de 2026
En resumen:
Todos los lenguajes comparten conceptos fundamentales, pero lo importante es entender las particularidades de cada uno y qué aportan. Por ejemplo, en proyectos asistidos por IA o "vibe-coding", suele haber mejores resultados con Node (Next.js, React) porque el entrenamiento de las grandes corporaciones consistió principalmente en proyectos de React, Python, etc.
 
Depende de lo que necesites hacer, no he probado node aclaro, pero yo comencé con asp a comienzos del 2000 y estaba bastante bien para crear sitios interactivos hasta que me topé con la necesidad de usar bases de datos. En local funcionaba bien (en aquel entonces con access) pero para subir a un servidor todos sin excepción te cobraban por usar el objeto de db profesional y tampoco me sirvió simplemente subir el mdb.

Así que por mucho tiempo trabajé con archivos de texto para cosas simples, con el tiempo asp se quedó corto porque no me servía para cosas complejas que con una base de datos se resuelve de una manera muy sencilla, tampoco había funcionalidad nativa para subir archivos a no ser que pagaras (de nuevo) por el objeto para subir archivos.

Me pasé a php, comencé con servidores gratuitos y siempre tuve mysql y la funcionalidad de subir archivos (con limitaciones de tamaño claro), así que estoy más que satisfecho con php. No digo que no pueda haber alternativas mejores, pero para mis necesidades php está más que excelente.
 
Me encanta php, aunque sinceramente ya no recuerdo porque me gustaba tanto, ya casi no programo, supongo que era un lenguaje sencillo de aprender parecido a C++, una cosa puedes meter el codigo dentro de la etiqueta del foro Code
Insertar CODE, HTML o PHP:
<?php echo "hola que tal"; ?>
 
Me encanta php, aunque sinceramente ya no recuerdo porque me gustaba tanto, ya casi no programo, supongo que era un lenguaje sencillo de aprender parecido a C++, una cosa puedes meter el codigo dentro de la etiqueta del foro Code
Insertar CODE, HTML o PHP:
<?php echo "hola que tal"; ?

edito: no deberia verse asi, falta algo
 
Atrás
Arriba