6 Dicas Para Começar a Estudar PHP Do Jeito Certo
Por: Roberto Beraldo Chaiben
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.
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.
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.
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: usarPrepared 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.
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!
Fonte: Profissionais TI
Texto Original:
http://www.profissionaisti.com.br/2015/05/6-dicas-para-comecar-a-estudar-php-do-jeito-certo/