1. Introducción al lenguaje PHP 7
El PDF de este documento está disponible |AQUÍ|.
Los ejemplos de este documento están disponibles |AQUÍ|.
Este documento forma parte de una serie de cuatro artículos:
- [Introducción al lenguaje PHP7 con ejemplos (2019)]. Este es el documento actual;
- [Introducción al lenguaje ECMASCRIPT6 con ejemplos (2019)];
- [Introducción al marco VUE.JS con ejemplos (2019)];
- [Introducción al marco de trabajo NUXT.JS con ejemplos (2019)];
Todos son documentos para principiantes. Los artículos siguen una secuencia lógica, pero están poco relacionados entre sí:
- el documento [1] presenta el lenguaje PHP 7. El lector que solo esté interesado en el lenguaje PHP y no en el lenguaje JavaScript de los artículos siguientes se detendrá aquí;
- los documentos [2-4] tienen como objetivo crear un cliente de JavaScript para el servidor de cálculo de impuestos desarrollado en el documento [1];
- los marcos de trabajo de JavaScript [vue.js] y [nuxt.js] de los artículos 3 y 4 requieren conocer el JavaScript de las últimas versiones de ECMASCRIPT, es decir, las de la versión 6. Por lo tanto, el documento [2] está dirigido a quienes no conocen esta versión de JavaScript. Hace referencia al servidor de cálculo de impuestos creado en el documento [1]. El lector de [2] necesitará, en ocasiones, consultar el documento [1];
- una vez que se domine el documento ECMASCRIPT, se puede abordar el marco de trabajo VUE.JS, que permite crear clientes de JavaScript que se ejecutan en un navegador en modo SPA (aplicación de página única). Se trata del documento [3]. Este hace referencia tanto al servidor de cálculo de impuestos creado en el documento [1] como al código del cliente de JavaScript independiente creado en [2]. El lector de [3] necesitará, en ocasiones, consultar los documentos [1] y [2];
- una vez que se domine VUE.JS, se puede abordar el marco NUXT.JS, que permite crear clientes de JavaScript que se ejecutan en un navegador en modo SSR (renderizado del lado del servidor). Hace referencia tanto al servidor de cálculo de impuestos creado en el documento [1], al código del cliente de JavaScript independiente creado en [2], así como a la aplicación [vue.js] desarrollada en el documento [3]. El lector de [4] necesitará, en ocasiones, consultar los documentos [1], [2] y [3];
Este documento ofrece una lista de scripts de consola PHP 7 en diferentes ámbitos (estructuras del lenguaje, acceso a archivos, a bases de datos y a la red de Internet). La programación web se aborda a través de servicios web. En este documento, se denomina «servicio web» a toda aplicación web que genera texto sin formato. Se trata de servidores de datos y no de servidores de páginas web, que son una combinación de HTML, CSS y JavaScript. Se abordan conceptos web clásicos (protocolo HTTP, respuestas jSON o XML, gestión de sesiones, autenticación) que también se utilizan en la programación web clásica.
Hoy en día, es común desarrollar aplicaciones web en modo cliente/servidor:

- en [1], el navegador web muestra páginas web destinadas a un usuario [5, 7]. Estas páginas contienen JavaScript que implementa un cliente de un servicio web de datos [2], así como un cliente de un servidor de fragmentos de páginas web [3]. Un marco de trabajo JS bien establecido en este ámbito es Angular 2 de Google (mayo de 2019);
- En [2], el servidor web es un servidor de datos. Puede estar escrito en cualquier lenguaje. No genera páginas web en el sentido clásico (HTML, CSS, JavaScript), salvo tal vez la primera vez. Pero esta primera página se puede obtener de un servidor web convencional [3] (no un servidor de datos). El JavaScript de la página inicial generará entonces las diferentes páginas web de la aplicación al obtener los datos [4] que se mostrarán del servidor web, el cual actúa como un servidor de datos [2]. También puede obtener fragmentos de página web [5] para presentar estos datos a través del servidor de páginas web [3];
- en [4], el usuario inicia una acción;
- en [6,7]: recibe datos presentados en un fragmento de página web;
En este documento escribiremos aplicaciones cliente/servidor en PHP7 con la siguiente estructura:

Aquí tenemos una aplicación cliente/servidor escrita en PHP. Un script de consola [9] consultará un servidor de datos [4]. Lo que se aprenda aquí para escribir el servicio de datos se podrá reutilizar en una aplicación web. El servicio de datos en PHP se podrá conservar, mientras que el cliente PHP será reemplazado por un cliente de JavaScript.
Como hilo conductor del documento, construiremos un servicio de cálculo de impuestos en 13 versiones. La versión 13 tendrá la siguiente arquitectura:

La capa [web] del servidor tendrá una arquitectura MVC (Modelo – Vista – Controlador). Todo el curso PHP 7 tiene como objetivo desarrollar esta versión.
Los scripts de este documento están comentados y se reproduce su ejecución en la consola. En ocasiones se proporcionan explicaciones adicionales. El documento requiere una lectura activa: para comprender un script, es necesario leer tanto su código como sus comentarios y los resultados de su ejecución.
Serge Tahé, julio de 2019