Programación

¿Qué es PHP? ¿Para qué se utiliza? ¿Cómo se creó y cómo funciona?

PHP – Lenguaje de programación de lado del servidor

Cuando un programador está familiarizado con los lenguajes de programación del lado del cliente (HTML, JavaScript…) tal vez se haya preguntado, cómo es posible que un periódico, un portal, un chat, un foro… estén en actualización continua.

Descartada la opción de tener a un programador 24h al día, 365 días al año, actualizando la web decenas de veces al día, queda preguntarse cuál es la tecnología que lo hace posible.

En este post nos centraremos en el lenguaje de programación más popular de entre los que pueden hacer posible esa magia de la actualización en continuo. Hablaremos sobre PHP: Cuál fue su origen, cómo funciona, para qué se usa y cuáles son sus ventajas y desventajas. Y, por supuesto, te daremos las primeras nociones básicas para que te animes a empezar a programar del lado del servidor.

¡Pasa, disfruta, aprende y comparte!


¿Tienes prisa?

 Pongamos que tenemos la página web de una empresa, cuyo contenido, en principio, va a ser siempre el mismo: ¿Quiénes somos? ¿Qué hacemos? ¿Cómo lo hacemos? Y contacto.
Si en un momento puntual tenemos que cambiar, pongamos, el teléfono, editamos el HTML y listo.

Pero puede que decidamos, muy sabiamente, dar un valor añadido a la página para atraer público recurrente. En cuyo caso podríamos crear un blog para publicar periódicamente nuestra opinión sobre los acontecimientos del sector. ¿Vamos a estar editando el HTML cada vez que añadamos una nueva entrada? ¿Y cuando haya muchas? ¿Vamos a paginarlas a mano?

Lógicamente, no es la opción más práctica, ya que con apenas unas pocas líneas de código, podemos realizar la tarea de manera automática. De forma que a través de un formulario introduzcamos las nuevas entradas, que se almacenan en una base de datos, y el frontend (la parte pública de la web), se encargará de mostrar siempre la última entrada y paginar las demás. Sin escribir ni una línea de código extra cada vez que actualice.

Pues bien, eso es posible gracias a PHP, un lenguaje de programación cuyas siglas en inglés significan Hypertext Preprocessor y podríamos traducirlo como Preproceso de Hipertexto, o más inteligible, Lenguaje de Programación Interpretado.

¿Qué significa eso?

Que mientras una web estática funciona bajo el siguiente esquema:
Páginas estáticas: Petición –> Respuesta

Una web programada con PHP funciona bajo este otro esquema:
Páginas dinámicas: Petición –> Procesado y preparación –> Respuesta

Esta leve diferencia permite que una web sea dinámica, y su contenido no tenga porqué ser siempre el mismo.

esquema_servidor

La manera de trabajar de PHP, es además muy sencilla: Permite embeber código dentro de la matriz HTML, pudiendo hacer que esa parte concreta de la web, sea dinámica. Para ello, basta con señalizar el inicio y final del código PHP con las etiquetas <?php ?>

Por ejemplo:

<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <title> Ejemplo básico PHP</title>
    </head>
    <body>
        <?php
            echo 'Hola '.$nombre;
        ?>
    </body>
</html>

 

Donde $nombre es una variable que puede adquirir cualquier contenido, pudiéndose recoger de un formulario, una base de datos, etc… De manera que, dependiendo de quién acceda a la web, ésta puede realizar un saludo personalizado: “Hola Marcos”, “Hola Teresa”…

A mayor escala, pero continuando con la misma lógica, no sólo podremos ir variando un saludo, sino el contenido, personalizar la apariencia de una web en base a las preferencias de los usuarios, crear tiendas online, foros, chats, buscadores…

Pero hay algunas pegas:

  • Las webs con PHP se ejecutan del lado del servidor, por lo que para ver las actualizaciones de las mismas, debemos refrescarla. Así, la petición irá nuevamente al servidor, comprobará si hay, por ejemplo, noticias más nuevas que las que se nos están mostrando, las procesará y nos las servirá en HTML.Este “problema” sin embargo, tiene fácil solución. Ya que con AJAX, podemos realizar actualizaciones con PHP sin necesidad de refrescar.
  • Como el código que se nos remite es el resultante del preproceso, no podemos ver en el código fuente qué código PHP es el que se ha utilizado para desarrollar una web. Tan sólo se nos muestra su resultante en HTML.Esto se puede usar como medida de seguridad para ocular ciertas partes del código, pero a los desarrolladores nos impide aprender PHP mirando cómo están realizadas ciertas páginas.

 

 

¿Cuándo y cómo nació el lenguaje PHP?

Forum PHP 2010
Forum PHP 2010

Rasmus Lerdorf, un ingeniero groenlandés afincado en Dinamarca, creó un curriculum online meses después de graduarse en la Universidad de Waterloo.

Como no sabía cuánto tráfico estaba recibiendo, creó un CGI en Perl que mostraba en el propio frontend, las visitas en vivo que estaba teniendo. A este pequeño script lo llamó Personal Home Page (PHP).

Tuvo tanto éxito que a raíz del aluvión de preguntas que recibió sobre el script, decidió crear una lista de correo para intercambiar opiniones, sugerencias y correcciones. Además de ello, la Universidad de Toronto lo contrató para que diseñase un sistema administrado por web para que los estudiantes se pudiesen conectar a Internet mediante acceso discado, con control de cuentas de acceso en base horaria y reflejando todos los datos en tiempo real sobre una base de datos.

Esto motivó a Lerdoft a mejorar su script de manera que pudiese interactuar con bases de datos MySQL, y pudiese insertar su código entre las etiquetas HTML. Había nacido PHP tal y como lo conocemos y, la liberalización del código desde el primer momento, permitió que otros programadores lo mejorasen y ampliasen.

Actualmente sigue siendo desarrollado por el grupo PHP, es uno de los pilares del software libre y está instalado en más de 20 millones de sitios webs.

 

Cómo funciona PHP – Primeros pasos

En primer lugar debemos incluir código PHP entre las etiquetas que lo delimitan:

 <?php –> Apertura

?> –> Cierre

Dicho código puede incluirse en cualquier parte de nuestra página, y puede abrirse y cerrarse tantas veces como sea necesario, creando infinidad de llamadas PHP.

Por ejemplo:

<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <title> Carta a los Reyes Magos</title>

<?php 
//Conectamos a la BBDD
$db = new mysqli(localhost, "root", "", "lista_reyes");

//Comprobamos que la conexión se realizó correctamente
if ($db->connect_error)
  die('Error de Conexion ('.$db->connect_errno.')'.$db->connect_error);
//Realizamos consulta a la BBDD
$query = "SELECT * FROM regalos";
//Ejecutamos la sentencia
$result = $db->query($query);
//Contamos el número de elementos
$numfilas = $result->num_rows;

?>

    </head>
    <body>
        <p>Queridos Reyes Magos,</p>

        <p>Hoy, día <?php echo date('l \t\h\e jS'); ?>, les escribo porque mi amiga Marta me ha pedido que, dado que        sus padres están pasando por un mal momento, agregue su lista de regalos a la mía.
       </p>

       <p>Espero que no suponga ningún inconveniente, pues Marta se ha portado muy bien.</p> 

       <p>Nuestra lista de regalos es:
      <ul>
         <?php

         //Listamos los regalos
        for ($x=0;$x<$numfilas;$x++) {
           $fila = $result->fetch_object();
           echo "<li>";
           echo $fila->id." - ";
           echo $fila->Nombre_juguete." - ";
           echo $fila->num_unidades;
           echo "</li>";
         }
      ?>

    </ul>
   </p>
    </body>
</html>

 

Este ejemplo incluye PHP en el <head> del HTML, dentro de una línea de texto del <body> y crea una lista no ordenada (<ul>) dinámica es decir, que se adapta según el número de elementos que haya en la base de datos.

Una vez tengamos el código PHP embebido, tan sólo tenemos que guardar el archivo con la extensión .php

Dicho archivo no puede ejecutarse directamente en local, ya que precisa de un intérprete de PHP es decir, un programa capaz de traducir a HTML esos scripts en PHP.

Por regla general, cualquier servidor Linux estará listo para poder ejecutar PHP pero, si queremos realizar pruebas en local, lo más sencillo es instalar la suite Xampp.

Xampp es una distribución de Apache gratuita y autoinstalable. Contiene el propio Apache, phpMyAdmin, PHP y Perl entre otros componentes de servidor. Con Xampp en el ordenador, tendremos un servidor en local capaz de hacer funcionar tanto nuestros propios códigos PHP, como cualquier gestor de contenidos basado en PHP como WordPress, PHPbb, Drupal…

A partir de ese momento, cuando ejecutemos un archivo PHP, éste realizará una llamada a Apache, que detectará la extensión PHP y procederá a ejecutar el script generando una traducción a HTML. Cuando la ejecución o postscripting haya finalizado, devolverá al navegador el código HTML final.

 

Algunos comandos básicos

En la siguiente tabla puede ver una lista de algunos comandos básicos de PHP:

Código Cómo se muestra Función
echo “Texto a mostrar”;  Texto a mostrar Imprime en pantalla el texto entre comillas
$variable1 = 10;
$variable2 = 20;
echo $variable1 + $variable2;
 30 Las variables portan “$” delante,  y pueden cambiar su valor, ser utilizadas para operaciones aritméticas, comparaciones, etc
if ($variable1 > $variable2){
echo “Se cumple la condición”;
}else{
echo “No se cumple”;
}
 No se cumple If es un condicional lógico equivalente a: “Si se cumple esta condición, pasa tal cosa, en caso contrario, esta otra”.
switch ($variable1) {
case 0:
echo “El valor de variable es 0”;
break;

case 5:
echo “El valor de variable es 5”;
break;

case 10:
echo “El valor de variable es 10”;
break;

}

 El valor de variable es 10 Switch es como un condicional al que se le pueden agregar infinidad de opciones.

En el ejemplo, si la variable vale 0, entonces imprime un texto. Si vale 5 otro texto y si vale 10, otro texto diferente. Pero podríamos agregar muchas más condiciones.

While ($variable1 > 5){
echo “Ahora vale ”. $variable1.”<br>”;
$variable1–;
}
Ahora vale 10
Ahora vale 9
Ahora vale 8
Ahora vale 7
Ahora vale 6
“While” equivale a “mientras se cumpla esta condición, sigue ejecutando”.

En el ejemplo se pone una condición y se va alterando el valor de la variable, mostrándola en cada pasada para que se vea cómo cambia.

“–” resta una unidad a la variable.

For ($i = 1, $i<=5,$i++){
echo “Ahora vale ”.$i.”<br>”;
}
 Ahora vale 1
Ahora vale 2
Ahora vale 3
Ahora vale 4
Ahora vale 5
“For” tiene 3 partes que son, en este orden:
Variable y su valor inicial: $i=1
Condición: $i<=5
Incremento: En este caso, +1 en cada paso ($i++)

Si estás interesado en aprender a programar en PHP, CodeCademy tiene tutoriales gratuitos, graduados a todos los niveles y con múltiples ejercicios autocorrectivos. Lo recomendamos encarecidamente.

Y, no olvides que cualquier duda, ¡estamos para ayudarte!

 

Ventajas y desventajas de PHP

PHP no es el único lenguaje de programación de lado de servidor. ASP, por ejemplo, puede hacer prácticamente lo mismo que PHP, sin embargo, no es tan popular. A continuación te mostramos el porqué:

 

Ventajas
  • Está orientado al desarrollo de aplicaciones webs dinámicas, pero la variedad de sus librerías le permite crear gráficos, encriptaciones, XML, GIFs animados, PDFs…
  • Es fácil de aprender, especialmente si se conocen otros lenguajes de programación como C o C++. En su desarrollo se simplificaron muchos aspectos que suelen crear problemas en otros lenguajes de programación, como la declaración de variables.
  • Puede conectarse con la mayoría de las bases de datos existentes: MySQL, PostgreSQL…
  • Puede expandirse fácilmente con librerías y extensiones.
  • Es libre y gratuito.
  • Puede funcionar bajo cualquier tipo de servidor.
  • Posee elementos de programación orientada a objetos.
  • Es muy estable y seguro. Se pueden manejar los niveles de seguridad cerrando o abriendo directivas en el ini
Desventajas
  • El código escrito en PHP no es visible en el navegador, ya que éste recibe la traducción de PHP a HTML. Lo ponemos como desventaja, pero bien podría ser una ventaja desde el punto de vista de la seguridad.
  • En línea con lo anterior, como desventaja debe ser interpretado por un servidor, por lo que su ejecución en local requiere de un servidor virtual.
  • Su ejecución es más lenta que los scripts equivalentes en lenguajes de lado de cliente, pero más rápida que los lenguajes de alto nivel Sin embargo, un sistema de caché puede solucionar rápidamente este retardo.

¿Te ha gustado esta entrada? ¡Compártela!

Cristian Sarabia Martínez

Desde que a principios de los 90 mi padre desempolvó su Spectrum, no he dejado de probar y experimentar con la tecnología.

Enamorado del mundo web, Full Stack Developer de profesión y diseñador por devoción.

Ahora hago mis pinitos en esto del blogging para compartir con vosotros un poquito de todo lo que la comunidad me ha dado.

2 Comentarios

Haz clic aquí para dejar tu comentario

Flickr

  • Africa
  • Dar
  • Café La Rose
  • Doors
  • Werbung
  • Carthage
  • Carthago nuit câline
  • Selma
  • Jour de pluie

About Author

ThemeForest

Collaboratively harness market-driven processes whereas resource-leveling internal or "organic" sources. Competently formulate.

Calendar

septiembre 2024
L M X J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
30  

RSS Meks Blog

  • How Adding Slack Bot Boosted Our Culture of Appreciation 3 julio, 2024
    Sweet Kudos is a Slack bot that enhances employee recognition, rewards, and celebrations within your team. It empowers team members to express gratitude and appreciation effortlessly by giving virtual Kudos. The post How Adding Slack Bot Boosted Our Culture of Appreciation appeared first on Meks.
    Dusan Milovanovic
  • 10 Best Knowledge Base & Wiki WordPress Themes 2021 15 septiembre, 2021
    Running a successful online business requires an exceptional WordPress knowledge base theme that organizes documentation and helps customers. Customization options, intuitive navigation, unique layouts, and fast responsiveness are just some of the features you need. The following 10 WordPress wiki themes represent the best options for 2021 and beyond. Explore the full range to determine […]
    Dusan Milovanovic
  • How to increase WordPress Memory Limit (quick fixes) 16 junio, 2021
    Here is a post about how to increase the memory limit in WordPress. Allowed memory size exhausted error message showed up in your WordPress installation? No worries – this is one of the most common errors in WordPress. You can apply an easy fix by increasing the memory limit in your PHP. Table of Contents […]
    Dusan Milovanovic
  • How to use (and why) WordPress sitemap plugin 1 marzo, 2021
    Did you know that by knowing how to use the WordPress sitemap plugin you can significantly improve your site’s visibility and traffic? Although it isn’t mandatory to have a sitemap on your site, having one significantly improves the site’s quality, crawlability and indexing. All this is important for better optimization, which is why we wanted […]
    Ivana Cirkovic
  • 22 free and premium podcast software for your show [2021 edition] 18 enero, 2021
    You’re determined to start or improve your podcast but don’t know which podcast software to use to really make it stand out? We’ve got you! #podcasting Top 22 free and premium podcast software for your show #WordPressTips #podcasting The post 22 free and premium podcast software for your show [2021 edition] appeared first on Meks.
    Ivana Cirkovic
  • Digital storytelling with WordPress – an all-in-one guide to make your web stories pop! 23 noviembre, 2020
    Wondering how to improve digital storytelling with WordPress and build more awareness and exposure of your business? Let our guide lead the way. The post Digital storytelling with WordPress – an all-in-one guide to make your web stories pop! appeared first on Meks.
    Ivana Cirkovic
  • How to use WordPress autoposting plugin to improve your visibility and SEO? 10 septiembre, 2020
    Did you know you can use the WordPress autoposting plugin for your content efforts and improve not only your time management but your business and visibility as well? The post How to use WordPress autoposting plugin to improve your visibility and SEO? appeared first on Meks.
    Ivana Cirkovic
  • How to create a personal branding site? Step-by-step DIY guide 15 agosto, 2020
    Looking for ways and means to create a personal branding site? Well, look no further ’cause we’re giving away all the how-to’s to do it yourselves! The post How to create a personal branding site? Step-by-step DIY guide appeared first on Meks.
    Ivana Cirkovic
  • Top 15 WordPress content plugins and tools to improve your visibility and rankings 16 julio, 2020
    Let’s take a look at some of the must-have WordPress content plugins and tools to use to improve both your UX and rankings. The post Top 15 WordPress content plugins and tools to improve your visibility and rankings appeared first on Meks.
    Ivana Cirkovic
  • WCEU 2020 recap – key takeaways from the biggest online WordPress conference 9 junio, 2020
    Missed WCEU 2020 and all the exciting stuff from there? Here are all the key takeaways and main points to remember so, take notes! The post WCEU 2020 recap – key takeaways from the biggest online WordPress conference appeared first on Meks.
    Ivana Cirkovic

Text

Distinctively utilize long-term high-impact total linkage whereas high-payoff experiences. Appropriately communicate 24/365.

Archives