1 PHP e PHP-CLI
O PHP foi criado em 1993 pelo programador Rasmus Lerdorf onde a abreviação fazia referência a Personal Home Page, que posteriormente foi mudada para o acrônimo PHP Hypertext Preprocessor. O PHP é uma linguagem interpretada e atualmente é uma das mais utilizadas em desenvolvimento web. Em razão de seu habiat natural ser a web, seu principal objetivo voltou-se para implementação veloz, simples e eficiente de soluções para e tais ambientes. Entre suas principais características estão:
A curva de aprendizado não é tão íngreme quanto em outras linguagens. Mesmo os iniciantes podem aprender PHP facilmente. Uma das razões para isso é por conta da enorme documentação sobre o sistema, exemplos, casos de uso e aplicações.
O PHP apresenta uma boa velocidade e robustez em seu uso sendo cerca de três vezes mais rápido que o Python, outra linguagem do lado do servidor. O PHP torna os sites carregados mais rapidamente.
Uso no lado do servidor, com possibilidade de respostas em páginas HMTL.
A lingunagem é multifuncional permitindo criar e customizar páginas web como e-commerces, blogs e mídias sociais facilmente. Além disso, você pode usar o PHP para enviar e-mails.
Possibilidade de criar scripts e usá-los sem a necessidade de um navegador, uma função muito útil para programadores que desejam executar o script para criar APIs.
Ampla integração com bases de dados como MySQL, Oracle, SQL Server e Postgre.
Desenvolvimento orientado a objetos.
Desenvolvimento open source.
Apesar da forte concorrência de NodeJs, Python e outras linguagens, o PHP manteve sua cota justa como a linguagem amplamente usada na web. Em 2024, aproximadamente 77% dos sites ativos usam PHP como sua linguagem de programação do lado do servidor. Esta lista incluía sites populares como Facebook, Wikipedia, WordPress e muitos outros.
Com atualizações constantes e uma comunidade ativa de desenvolvedores, o desenvolvimento web PHP continua a ser altamente relevante em 2024. 25,8% dos desenvolvedores web preferem PHP e 81% de todos os usos do PHP ainda são para desenvolvimento web.
Como o PHP é uma linguagem server-side então utilizamos um servidor web para executar seus programas. Um servidor web amplamente utilizado é o apache2 que é implementado em ambientes Linux. Ao ativar o servidor apache2, ele fica escutando as requisições HTTP encaminhadas por usuários da rede até o servidor. Ao chegar uma requisição ao servidor, o apache2 inicia a execução do programa de acordo com o que foi solicitado. Assim como diversos sites, os programas implementados nos servidores web são majoritariamente escritos em PHP. Em linhas gerais, ao terminar de processar a requisição HTTP, o servidor web responde a solicitação do usuário a partir do resultado da saída gerada pelo programa em PHP. Essencialmente as respostas geradas pelo PHP são arquivos em formato texto. Regularmente estes arquivos estão escritos na linguagem de marcação HTML e são lidos e renderizados nos browsers, que por sua vez são exibidos ao usuário no monitor.
Com o surgimento do PHP-CLI o ambiente do PHP se ampliou podendo agora desenvolver aplicações desktop. Em linhas gerais, o PHP-Command-Line Interface (CLI) é uma interface que permite a execução do scripts PHP diretamente no terminal sem a exigência de um servidor web. Essa funcionalidade é especialmente útil para desenvolvedores que desejam executar scripts de forma rápida e eficiente, facilitando tarefas como automação, manutenção de sistemas e execução de scripts de longa duração.
Uma das principais vantagens do PHP CLI é a sua capacidade de executar scripts sem a sobrecarga de um servidor web. Isso significa que os desenvolvedores podem testar e depurar seus códigos de maneira mais ágil. O PHP CLI além de possibilitar a criação de scripts de manipulação de arquivos, tarefas agendadas via cron jobs como backups, atualizações de banco de dados e com eventual exportação para um arquivo CSV, admite ainda que essas execuções ocorram em segundo plano. Isso torna sua utilização muito vantajosa. Adicionalmente, o PHP CLI apresenta um maior desempenho frente ao PHP Web tradicional. Isso ocorre devido as restrições impostas pelo servidor web. Tais limitações envolvem o consumo de memória e tempo de execução em função da necessidades de compartilhamento de recursos mediante as chegadas de diversas requisições HTTP.
1.0.1 Instalação PHP
Durante nossa disciplina é essencial ter o PHP instalado em uma máquina física ou mesmo virtualizada para ter contato e prática com a linguagem. Ainda que não essencial, é recomendável a instalar de um servidor web, onde indicamos fortemente o apache2. Em meio a esse ambiente, surge o tema banco de dados que é de extremamente importante. Aproveitando a intersecção do assuntos, recomendamos concomitantemente a instalação do PHP e o apache2 os SGBDs MariaDB ou do MySQL. Pois desta forma, podemos economizar tempo ao mesmo tempo em que otimizamos o aprendizado ao integrar todos esses temas. Esses softwares são vastamente utilizados em conjunto. Isso ocorre de tal sorte que é conhecido pelo termo LAMP que é designado por Linux, Apache2, MySQL ou MariaDB e PHP.
Caso ainda não tenha instalado o PHP em seu ambiente bem como servidor web e um banco de dados, ou deseja instalar o LAMP em outra máquina, então vamos preparar o nosso ambiente de desenvolvimento.
Há diversos fóruns na internet com instruções de como instalar o LAMP. Alternativamente, para facilitar a instalação do LAMP você também pode seguir os procedimentos descritos na Figura 1.1 utilizando para isso os seguintes comandos
wget -O instalacaoLAMP https://padawan.click/shellscript/instalacaoLAMP.sh
sudo chmod +x instalacaoLAMP && bash instalacaoLAMP
Caso a operação seja bem sucedida, um aviso será exibido na tela como mostra a Figura 1.2. No entanto, caso a mensagem de falha ocorra como na Figura 1.3, verifique se todos passos foram feitos corretamente. Se ainda assim persistir, busque nos foruns como instalar ou envie um e-mail para [email protected] informando sobre o erro reportado.
Uma vez instalado o PHP, e caso opte por obter as saídas dos scripts por meio do servidor web, então salve suas as pastas e arquivos com contento código PHP dentro do diretório /var/www/html/
. Por exemplo, suponha que desenvolvemos a primeira versão de um script em PHP para cadastrar os clientes de uma empresa onde o campo da data é automaticamente preenchido. Os códigos encontram-se no arquivo cliente.php
com o script abaixo.
```{html}
<?php
$data_atual = date("d-m-Y");
?>
<html>
<head>
<title>Formulário Cadastro Cliente</title>
</head>
<body>
<style>
#area {
display: flex;
width: 100%;
max-width: 650px;
justify-content: center;
}
input.info{
margin: 3px 2px;
padding: 3px 2px;
}
</style>
<div id="area">
<form id="formulario" autocomplete="off">
<fieldset>
<legend>Cliente</legend>
<label>Nome:</label><input class="info" class="campo_nome" type="text"><br>
<label>Email:</label><input class="info" type="email"><br>
<label>Celular:</label><input class="info" type="number"><br><br>
<label>Data:</label><input class="info" type="text" value="<?php echo $data_atual ;?>" ><br><br>
<label>CPF:</label><input class="info" type="number"><br><br>
<input class="btn_submit" type="submit" value="Cadastrar">
</fieldset>
</form>
</div>
</body>
</html>
```
Na sequência fechamos o arquivo cliente.php
e inserimos na pasta meuapp
que se encontra por sua vez no diretório /var/www/html
do apache. Por fim, o endereço completo e absoluto do arquivo poderia ficar da seguinte forma /var/www/html/meuapp/cliente.php
. Como exercício, crie um arquivo, copie o código e crie o diretório meuapp
dentro de /html/
com o arquivo cliente.php
e realize os próximos passos.
Para interagir com o resultado do script desse arquivo, vamos até ao browser e no campo de URL inserimos os seguintes endereços.
://localhost/meuapp/cliente.php
http# ou
://127.0.0.1/meuapp/cliente.php http
Note que a componente da URL “http://localhost/” é como se representasse o /var/www/html/
. Agora, ao pressionar enter na barra de endereços do browser, uma requisição HTTP do tipo GET é enviada ao servidor. Por fim, como resposta da requisição, obtemos a tela abaixo na Figura 1.4 o formulário de cadastro como já esperávamos.
A vantagem de se trabalhar dessa forma é que o desenvolvimento da parte gráfica de uma aplicação fica somente centrado na tríade do desenvolvimento web para front-end: Javascript, Css e HTML. O próprio PHP fornece um servidor web que podemos utilizá-lo como alternativa ao apache2 para poder executarmos códigos PHP. Veremos essa possibilidade mais a frente em outra oportunidade.