1. Introdução à linguagem PHP 7
O PDF deste documento está disponível |AQUI|.
Os exemplos deste documento estão disponíveis |AQUI|.
Este documento faz parte de uma série de quatro artigos:
- [Introdução à linguagem PHP7 através de exemplos (2019)]. Este é o documento atual;
- [Introdução à linguagem ECMAScript 6 através de exemplos (2019)];
- [Introdução ao framework VUE.JS através de exemplos (2019)];
- [Introdução ao framework NUXT.JS através de exemplos (2019)];
Todos estes são documentos para principiantes. Os artigos seguem uma sequência lógica, mas estão pouco interligados:
- o documento [1] apresenta a linguagem PHP 7. O leitor que esteja interessado apenas na linguagem PHP e não na linguagem JavaScript dos artigos seguintes irá parar por aqui;
- os documentos [2-4] têm como objetivo criar um cliente JavaScript para o servidor de cálculo de impostos desenvolvido no documento [1];
- os frameworks JavaScript [vue.js] e [nuxt.js] dos artigos 3.º e 4.º exigem o conhecimento do JavaScript das últimas versões do ECMASCRIPT, nomeadamente as da versão 6. O documento [2] destina-se, portanto, a quem não conhece esta versão do JavaScript. Faz referência ao servidor de cálculo do imposto criado no documento [1]. O leitor do [2] terá, por vezes, de consultar o documento [1];
- uma vez dominado o ECMASCRIPT, é possível abordar o framework VUE.JS, que permite criar clientes JavaScript executáveis num navegador no modo SPA (Single Page Application). Trata-se do documento [3]. Este faz referência tanto ao servidor de cálculo de impostos desenvolvido no documento [1] como ao código do cliente JavaScript autónomo desenvolvido no [2]. Quem estiver a ler o documento [3] terá, por vezes, de consultar os documentos [1] e [2];
- uma vez dominado o VUE.JS, é possível abordar o framework NUXT.JS, que permite criar clientes JavaScript executados num navegador no modo SSR (renderização do lado do servidor). Este framework faz referência tanto ao servidor de cálculo de impostos desenvolvido no documento [1], ao código do cliente JavaScript autónomo criado em [2], bem como à aplicação [vue.js] desenvolvida no documento [3]. O leitor do documento [4] terá, por vezes, de consultar os documentos [1], [2] e [3];
Este documento apresenta uma lista de scripts de consola PHP 7 em diferentes áreas (estruturas da linguagem, acesso a ficheiros, a bases de dados e à Internet). A programação web é abordada através de serviços web. Neste documento, designa-se por «serviço web» qualquer aplicação web que produza texto simples. Trata-se de servidores de dados e não de servidores de páginas web, que são uma combinação de HTML, CSS e JavaScript. Abordam-se aqui conceitos clássicos da Web (protocolo HTTP, respostas jSON ou XML, gestão de sessões, autenticação), também utilizados na programação Web clássica.
Atualmente, é comum desenvolver aplicações web no modo cliente/servidor:

- em [1], o navegador da Web apresenta páginas da Web destinadas a um utilizador [5, 7]. Estas páginas contêm JavaScript que implementa um cliente de um serviço web de dados [2], bem como um cliente de um servidor de fragmentos de páginas web [3]. Um framework JS bem estabelecido nesta área é o Angular 2 da Google (maio de 2019);
- No [2], o servidor web é um servidor de dados. Pode ser escrito em qualquer linguagem. Não produz páginas web no sentido clássico (HTML, CSS, JavaScript), exceto talvez na primeira vez. Mas essa primeira página pode ser obtida a partir de um servidor web clássico [3] (não um servidor de dados). O JavaScript da página inicial irá então gerar as diferentes páginas web da aplicação, obtendo os dados [4] a apresentar junto do servidor web, que funciona como um servidor de dados [2]. Também pode obter fragmentos de páginas web [5] para apresentar esses dados a partir do servidor de páginas web [3];
- em [4], o utilizador inicia uma ação;
- em [6,7]: recebe dados apresentados por um fragmento de página web;
Neste documento, iremos escrever aplicações cliente/servidor em PHP7 com a seguinte estrutura:

Temos aqui uma aplicação cliente/servidor escrita em PHP. Um script de consola [9] irá consultar um servidor de dados [4]. O que for aprendido aqui para escrever o serviço de dados poderá ser reutilizado numa aplicação web. O serviço de dados em PHP poderá ser mantido e o cliente PHP será substituído por um cliente JavaScript.
Como fio condutor deste documento, iremos construir um serviço de cálculo de impostos em 13 versões. A versão 13 terá a seguinte arquitetura:

A camada [web] do servidor terá uma arquitetura MVC (Model – View – Controller). Todo o curso PHP 7 tem como objetivo construir esta versão.
Os scripts deste documento estão comentados e a sua execução na consola é reproduzida. Por vezes, são fornecidas explicações adicionais. O documento requer uma leitura ativa: para compreender um script, é necessário ler simultaneamente o seu código, os seus comentários e os resultados da sua execução.
Serge Tahé, julho de 2019