6 Dicas Para Começar a Estudar PHP Do Jeito Certo

O PHP é uma das linguagens mais utilizadas no mundo atualmente. Segundo o W3Techs, 82% dos sites cuja linguagem de programação é conhecida usa PHP. Isso inclui Facebook, Wikipedia, WordPress dentre outros.

A linguagem PHP é uma das preferidas para quem quer começar a estudar Programação. Ela é relativamente simples de ser aprendida e possui muitos materiais de estudos na Internet.

Porém, o PHP também mudou muito desde sua criação. Muitas técnicas antigas já são consideradas obsoletas atualmente. Por isso, é importante tomar cuidado com os materiais de estudo utilizados. Muitos deles ensinam técnicas que já não são adequadas para as versões mais recentes do PHP. É fundamental estudar PHP do jeito certo desde o início da sua jornada com o Desenvolvimento Web.

Reuni aqui 6 dicas para quem está começando com PHP. É importante começar do jeito certo, para não ter dores de cabeça no futuro.

1. Estudar Lógica de Programação

Essa vale para qualquer linguagem, não só PHP.

É fundamental conhecer Lógica de Programação. Não adianta querer começar a programar em uma determinada linguagem sem ter uma base sobre Lógica.

Procure estudar Lógica de Programação. Ela pode ser estudada por meio de pseudo-códigos ou mesmo com uma linguagem de programação. Você pode aplicar os conceitos diretamente no PHP, assim como pode usar C, Pascal ou outra.

Dedique atenção especial à Lógica de Programação. Dessa forma será muito mais simples e natural seu desenvolvimento em PHP e em outras linguagens.

2. Habilitar Todas as Exibição de Erros

O PHP é uma linguagem muito flexível. Isso tem vantagens e desvantagens, claro.

Existem configurações no PHP, como display_errors e error_reporting, que são usadas para ocultar mensagens de erro e avisos.

Isso é útil para aplicações em produção, quando não devemos exibir erros para o usuário final, pois eles revelam dados sensíveis, como estrutura de arquivos e diretórios, por exemplo.

Porém, em ambiente de desenvolvimento, é fundamental que todas as mensagens de erro e avisos sejam exibidos. Como programador(a), é seu dever corrigir todos eles. Ocultá-los é a mesma coisa que varrer a casa e jogar a poeira embaixo do tapete…

A diretiva display_errors recebe os valores On ou Off. É fundamental deixá-la em On durante o desenvolvimento da aplicação. Quando o sistema estiver em produção, mantenha-a em Off.

A diretiva error_reporting define os níveis de mensagens que devem ser exibidas. Por exemplo, é possível definir que apenas erros fatais serão exibidos. Porém, o correto é exibir todos os níveis de erro para que você possa corrigi-los antes de publicar o projeto. Essa diretiva recebe um valor inteiro. Para facilitar, existem as constantes que correspondem aos níveis de erro. O ideal é definir seu valor para E_ALL | E_STRICT. A constante E_ALL exibe todos os erros, exceto os do nível E_STRICT, que são mensagens de alerta sobre boas práticas. Por isso, é necessário juntar ambas as constantes com o operador | (OR).

Muitas das mensagens de erros são bem explicativas e de fácil correção. Neste meu post descrevo as principais delas, seus motivos e como corrigi-las.

Mais detalhes nestes links:

3. MySQL e MySQLi

O MySQL é o SGBD mais usado com PHP. E existem muitos artigos e tutoriais mostrando como integrar os dois, usando funções como mysql_connect e mysql_query, que são da extensão mysql do PHP.

O problema é que a extensão mysql está obsoleta desde o PHP 5.5, que foi lançado em abril de 2013. Ou seja, desde essa data, a extensão mysql deveria ter sido deixada de lado pelos programadores. Mas poucos estão fazendo isso ainda.

O PHP 5 trouxe a extensão mysqli (note o “i” no final), que é uma versão melhorada da extensão mysql, que permite utilizar recursos mais novos do SGBD MySQL. O correto é usar a extensão mysqli.

Outra alternativa, ainda melhor, é usar PDO, que permite abstrair a conexão, ou seja, é possível usar qualquer SGBD, sem necessidade de alterar muito código para migrar de um SGBD para outro.

Mais detalhes nestes links:

4. Instalação de Servidor Web

É muito comum ver iniciantes usando pacotes que instalam Apache+PHP+MySQL, como WAMP, XAMP, LAMP e MAMP. Um ponto negativo desses pacotes é que não é possível atualizar um componente específico. É preciso esperar uma nova versão do pacote completo.

Esses pacotes surgiram, pois era relativamente difícil instalar o Apache com o módulo do PHP. Porém, a partir do PHP 5.4, não é mais necessário usar Apache ou outro servidor Web. O PHP traz um servidor embutido, ótimo para testes em ambientes de desenvolvimento.

Esse servidor embutido possui praticamente todos os recursos que o Apache possui, incluindo suporte a .htaccess e reescrita de URL (URL Rewriting ou URL Amigáveis).

Vale lembrar que esse servidor embutido é voltado apenas para desenvolvimento. Em ambiente de produção, é necessário usar um servidor web, como Apache ou Nginx.

Mais detalhes nestes links:

5. SQL Injection e Filtragem de Dados

SQL Injection é um ataque comum e que pode destruir um banco de dados por completo. É fundamental proteger-se contra ele.

O ataque ocorre quando o programador não filtra as entradas de dados. Ou seja, o atacante pode digitar um comando SQL malicioso na URL ou em um formulário. Quando a string não é filtrada adequadamente, o comando pode ser executado pelo SGBD, podendo gerar resultados catastróficos.

O PHP possui as funções filter_var e filter_input, que são muito úteis para filtragem de dados. Porém, para se proteger contra SQL Injection, há uma técnica melhor: usar Prepared Statements.

Com Prepared Statements, os valores da SQL são enviados em “pacotes” separados da SQL propriamente dia. Assim, já é feita a filtragem dos dados, prevenindo SQL Injection.

É possível usar Prepared Statements com MySQLi ou com PDO, que foram citadas um pouco antes aqui, quando falamos de MySQL e MySQLi.

Mais detalhes nestes links:

6. Cuidado com Register Globals

A diretiva register_globals passou a estar desabilitada, por padrão, a partir do PHP 4.2.0. Ela, quando habilitada, faz com que as variáveis globais sejam registradas (inicializadas) automaticamente no
script em execução.

Isso causava diversas brechas de segurança, principalmente quando os programadores não iniciavam suas variáveis. É possível ver exemplos mais detalhados na documentação sobre Register Globals.

Se você usa PHP 5.4 ou superior, não precisa se preocupar com register_globals, pois ela nem sequer existe mais. Isso equivale a dizer que ela está desativada, como é o recomendado.

A maioria já deve usar PHP 5.4 ou superior, mas é importante citar essa diretiva, principalmente por questões
históricas. Muitos tutoriais e até sistemas antigos fazem uso desse recurso. Por isso fique de olho!

Mais detalhes podem ser lidos neste link:

No Guia de Boas Práticas Para O Código-Fonte Perfeito, disponível gratuitamente, eu falo sobre essas e outras dicas e técnicas para melhorar seus scripts, deixando-os muito mais profissionais.

Recomendo a todo iniciante em PHP que leia o guia e aplique as técnicas citadas nele. Com certeza você verá que seus códigos ficarão muito mais claros, concisos e com melhor desempenho.

Roberto Beraldo

Mais artigos deste autor »

Graduado em Ciência da Computação, pela Universidade Federal do Paraná (UFPR). Trabalha com Desenvolvimento WEB, principalmente com PHP.


7 Comentários

Franklin
1

Parece banal o primeiro item; uma grande parcela dos utilizadores do php aprenderam na base da prática com baixo conhecimento de lógica. O fato é que para qualquer programação a lógica é a mesma; não obstante, quem opta por aprender lógica ao programar percebe uma nova ótica de desenvolvimento.

Fernando Bagno
2

Boas dicas! Realmente há muito curso e material defasado por aí em relação ao PHP, o que trás maus olhares para os profissionais da área e uma competitividade injusta – tendo em vista que se faz de qualquer jeito a coisa -. Recentemente escrevi sobre isso em meu site e gostei das dicas aqui passadas. Parabéns ao autor por incentivar boas pesquisas a quem deseja ingressar na área.
Franklin, não diria só de PHP. Como você mesmo disse, qualquer linguagem a lógica é a mesma. Então isso se diz a respeito de todo profissional que hoje lê apenas o básico pra sair programando e, claro, o PHP por ser mais simples é o prejudicado na história.

Tiago Fidelis
3

Boa tarde. Gostaria de estudar PHP do zero, até um nível suficiente para montar um site, já que sei HTML e CSS. Alguem sabe me dizer em quanto tempo consigo aprender sozinho do zero?

Roberto Beraldo
4

Tiago, o tempo vai depender da sua dedicação. Se você se dedicar todos os dias, acho bem possível aprender o suficiente (até mais que isso) em 30 a 45 dias. A fixação do conteúdo vem com o tempo e com a prática, mas você consegue aprender a teoria e aplicá-la nesse tempo.
Eu tenho um curso online e vários alunos concluíram o curso nesse tempo ou até em menos.
Sugiro que comece por este link, onde explico os passos iniciais para começar sua jornada com o PHP: http://blog.ultimatephp.com.br/comece-aqui/
Bons estudos!

David
5

Roberto boa tarde
Irei fazer meu projeto de conclusão do curso de sistema de informação no primeiro semestre do ano que vem. E escutei alguns colegas dizendo que fazer o projeto em php é bem mais tranquilo que em Java, eu por exemplo não domino nenhuma linguagem. Qual você me sugere para que eu aprofunde para desenvolver meu projeto? Ainda estou na fase de buscar o tema, já estou vendo desde agora, pois não quero deixar para procurar e aprender apenas no semestre que eu puxar a tcc.
grato desde já!

JOSE SEBASTIAO DE SOUZA BEZERRA
6

Sou Desenvolvedos de sistemas, trabalho com a linguagem xharbour e preciso desenvolver alguns sistemas em web para integrar com meu Desktop. PHP seria o Ideal ?

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!