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

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

h1n1

Dseda
Verificación en dos pasos activada
Verificado por Whatsapp
¡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.
 
Atrás
Arriba