Roadmap: Por onde começar #1
A primeira coisa que o pessoal pergunta quando decide “mexer” com PHP é por onde começar.
O PHP é uma linguagem multi-paradigma interpretada, com tipagem fraca que pode ser usada em diversas plataformas e comumente utilizada sob o protocolo HTTP e no ambiente CLI. Isso quer dizer que ele é um faz-tudo! Pra quem usa é muito bom e pra quem está chegando agora a quantidade de possibilidades é fatalmente um artigo complicador, já que não se sabe nem por onde começar.
No nosso blog queremos fazer um pequeno mapa explicando sobre essa jornada ; )
Neste primeiro POST vou tentar explicar o que é importante entender para seguir seus estudos de forma independente e esboçar um ponto de entrada simples, sabendo que material usar e porque ele vai contribuir com sua jornada.
A primeira coisa que você precisa entender é para que o PHP “serve”. Servir, servir mesmo, ele serve para várias coisas. Ele é um interpretador de códigos e portanto pode ser embarcado em outras tecnologias. Dentre as funções dele podemos destacar desde saídas de impressão na tela até manipulação de dados. O nosso escopo nesse momento vai tratar apenas do uso da linguagem para gestão de sites e sistemas acessados através de um navegador, embora você possa usá-lo como interpretador de algoritmos através da linha de comando.
É muito comum vermos sites rodando no nosso navegador, neste momento isso está acontecendo e como usamos Wordpress, você está vendo um site feito com PHP. Mesmo quem nunca escreveu uma linha de código já viu um site rodando feliz da vida lá. O que podemos ver de um site é a parte visual dele, a saída que o navegador recebe do servidor para “imprimir” o site. Então inicialmente o que você precisa saber é que o Chrome, o Firefox ou seu navegador favorito não sabe nada sobre o PHP, eles falam uma mesma língua chamada HTML, mas nunca se encontraram pessoalmente.
Vamos fazer uma pausa aqui agora e explicar toda essa comunicação para depois voltar para o PHP. A internet é uma rede mundial de troca de dados e como toda rede ela precisa de computadores. Os servidores são os computadores responsáveis por fazer cada site funcionar. É preciso perceber também que se é uma comunicação precisamos do ecossistema: emissor, canal, mensagem e receptor — conforme a imagem abaixo.
Resolvida essa parte percebemos então que o servidor e o nosso navegador estarão se comunicando continuamente porque a cada nova interação que você tem com a página ela pode precisar de mais dados e o canal (internet) será acessado para que o emissor (seu navegador) solicite mais recursos ao receptor (servidor) que deverá sempre responder algo. Note que eu disse SEMPRE vai retornar algo e isso é o tema do próximo parágrafo.
Para uma comunicação saudável é primordial que emissor e receptor compreendam as mensagens recebidas pelos canais; para isso servem os protocolos. Protocolos são padrões para trocas de mensagens. No caso da internet o mais comum entre o navegador e o servidor é usar o HTTP e ele tem um ciclo de vida muito característico como pode ser visto na imagem abaixo. Como eu disse anteriormente o servidor sempre responde algo (mesmo que seja nada) quando o cliente faz o pedido de uma URL porque é como o protocolo foi especificado.
Ao olhar a imagem você já pode ver mais palavras famosas como Client, DNS e por ai vai, mas não vou explicar cada uma porque esse não é o foco agora, também será tema de outras postagens. O que deve ficar entendido é que trabalhar com PHP ou qualquer outra tecnologia para a web vai envolver uma tonelada de conhecimentos adjacentes e isso é motivo de muito sofrimento no início.
Sendo assim, vamos ficando por aqui sem sequer tratar da linguagem ainda (talvez demore alguns POSTs para falar diretamente de código) porque é mais importante compreender o que é o ambiente do PHP do como usar ; )
Vamos nos falando sobre cada coisa, mas com um tijolo de cada vez.
Enquanto não dá uma olhada em outros POSTs você pode conferir o material http://www.php.net/, http://br.phptherightway.com/, http://www.php-fig.org/, https://github.com/, https://getcomposer.org/ e ter a ciência de que você está começando algo novo e que vai precisar se dedicar porque não vai haver links prontos e soluções definitivas.
No próximo POST vamos começar a falar sobre formas de preparar o seu ambiente de trabalho e começar a dar rumos sobre a sintaxe da linguagem e o uso de frameworks.