Esse post foi idealizado para aquelas pessoas que estão pretendendo aprender PHP ou até mesmo outra linguagem de programação, por conta própria, assim como eu aprendi. É possível, é viável, de graça e só depende de você.
Muitas pessoas me pedem uma indicação de curso ou livro, ou me perguntam como eu aprendi. Eu aprendi sozinha, com material da internet, praticando principalmente através de exemplos e com muita “tentativa-e-erro”. Já fazem mais ou menos 08 anos que comecei, e apesar de ter acumulado bastante experiência, sempre há algo novo para aprender. Por isso, acredito que nenhum livro pode superar o aprendizado obtido com a prática, ou mesmo reunir todo o conteúdo necessário pra que uma pessoa aprenda “TUDO” sobre uma linguagem de programação. Se fosse possível, seria inviável, e ninguém conseguiria ler o livro todo e assimilar 100% do conteúdo! Algumas coisas a gente só aprende mesmo quebrando a cabeça com os erros.
1. Isso é MESMO sua área?
Muitas pessoas são atraídas para o mundinho das ciências exatas por conta de alguma influência que não necessariamente indica uma real “aptidão” para a área. Você não precisa ser fera em matemática, física e química… mas é imprescindível ter um bom pensamento lógico, e isso a gente não aprende estudando “lógica e algoritmos”. É algo que você tem, ou não tem, e pode exercitar com a prática.
Se você não sabe fazer uma regra de três, amigo(a), infelizmente temo que essa não é a sua área. Como eu já disse, não precisa ser fera em matemática, eu mesma passo vergonha em se tratando de fórmulas e cálculos, mas a boa e velha regra de três junto a um bom pensamento lógico resolvem a maior parte dos seus problemas no dia-a-dia de programação web. A pequena parte restante você encontra na WEB, e para isso você precisa ser desenrolado, saber pesquisar – isso faz parte da próxima dica.
2. Saber pesquisar, e saber ler textos em inglês
O Google pode resolver a maioria dos seus problemas, mas é preciso saber pesquisar. E é muito importante ter em mente que a maioria dos conteúdos relacionados a programação, independente da linguagem, estarão em inglês. Geralmente, os MELHORES conteúdos, e mais recentes, vão estar em inglês, então você tem que deixar a preguiça de lado e desenrolar a leitura nessa língua. Use o Google Translator, que por mais que não seja perfeito, ainda é a melhor opção em tradutores online. E procure estudar mesmo, porque se você vai trabalhar nessa área e planeja ser um bom profissional, o inglês a nível de leitura é essencial.
Dica: Um excelente site onde você pode aprender inglês e outras línguas, de forma gratuita e com uma ótima didática, é o Livemocha.com .
Outra dica: para buscar resultados mais recentes (o que é de grande importância quando lidamos com resolução de erros) acrescente na busca o termo inurl:2011 (o ano atual, no caso…). Assim você encontra geralmente posts em blogs que foram criados no ano atual, o que lhe dá mais chances de encontrar uma resolução para o seu problema de acordo com a versão atual das ferramentas que está usando. Também procure ser bem específico na sua busca.
3. Montando um ambiente de desenvolvimento
Para testar seus scripts php, você precisa de um servidor Apache com PHP rodando, localmente ou em um servidor remoto ao qual você tenha acesso via FTP. Localmente é bem mais rápido para testar, mas você precisa instalar o servidor. Existem soluções bem facilitadas para todos os sistemas operacionais. Você também vai precisar de um editor para facilitar o processo de escrita de códigos.
- Windows
- Servidor: Wampserver http://www.wampserver.com/en/
- Editores: Notepad++ , Eclipse PDT, BlueFish e Geany são algumas opções interessantes e gratuitas.
- Linux/Ubuntu
- Nesse tutorial que fiz para o Ubuntu Lucid Lynx tem passo a passo como montar o ambiente WEB: Montando um ambiente de desenvolvimento web no Ubuntu 10.04 (apesar de ser para a versão anterior do Ubuntu, o tutorial continua válido)
- O editor que indico é o Geany, e no tutorial acima tem mostrando como instalar (não tem mistério, basta ir direto pelo Ubuntu Software Center)
4. Material de estudo
Para começar, é interessante ter um material de base. Pode ser um livro bem simples, só pra você começar, fazer um ‘Hello World’ e aprender algumas noções. Um livro dá uma orientação básica para quem está iniciando, dá um pouco mais de segurança, por isso acredito que é interessante. É complicado para mim indicar um livro, já que eu não conheço os livros, não os li, então não tenho como garantir; porém, pelas avaliações, você pode encontrar umas opções básicas em torno de 30 a 50 reais, que parecem ser o ideal para quem está começando. Fazendo uma pesquisa rápida no Submarino, achei interessante o “Fundamentos de PHP“, tem avaliações positivas de pessoas que leram, e custa módicos 30 reais.
Mas isso também é opcional. É possível encontrar conteúdo muito bom na internet. Minhas recomendações para que você possa iniciar os estudos são:
Antes de mais nada (o básico do básico)
- Como funciona a internet – se você vai desenvolver para a WEB, precisa entender como se dá o processo de acessar um site, o que acontece, que tecnologias estão envolvidas. Esse infográfico (em inglês) explica direitinho o processo de comunicação na internet: http://www.makeuseof.com/tag/internet-works-infographic/
- Como funciona um servidor WEB – o servidor web é responsavel por fornecer as páginas que você acessa na web. As linguagens de programação server-side (php, asp, python) são executadas no lado do servidor, e já retornam tudo “mastigadinho” para o browser, enquanto que liguagens client-side (javascript) são executadas no próprio browser. O servidor web utilizado pelo PHP é o APACHE, e nesse link tem uma explicação simples do seu funcionamento: http://www.aocubo.tecnologia.ws/?p=35
PHP
- Manual oficial do PHP - Esse é o manual oficial disponibilizado no site php.net (esse site tem que ser a sua referência sempre.. adicione nos favoritos!). Está disponível também em português. http://www.php.net/manual/pt_BR/
- Referência das funções – Material essencial, também do site oficial php.net. Todas as funções do PHP, com exemplos e comentários dos usuários. Basta buscar pelo nome da função, no canto superior do site -> http://php.net
- Practical PHP Programming – Um manual/guia muito bom, bem completo mesmo, em inglês. http://www.tuxradar.com/practicalphp
Complementos
- Web Design
- ebook gratuito com o básico sobre web design, escolha de cores, etc. Dicas muito boas. em inglês. http://www.webguru-india.com/images/free-webdesign-ebook.pdf
- Web Style Guide – um livro online mais técnico, que aborda desde o planejamento de um site, a definição de sua estrutura e arquitetura da informação, até considerações sobre gráficos e elementos multimídia. em inglês. http://www.webstyleguide.com/wsg3/index.html
- SEO
- Pocket Guide to SEO – um guia de bolso, como o próprio nome diz, para SEO (search engine optimization). em inglês. http://files.fortyagency.com/seo-booklet.pdf
- Javascript
- Eloquent Javascript – um guia básico de JavaScript , em inglês. http://eloquentjavascript.net/contents.html
Outros links interessantes (tudo em inglês) podem ser encontrados aqui: http://www.smashingapps.com/2011/06/02/45-useful-yet-free-ebooks-for-designers-and-developers.html .
5. A prática é a melhor professora
Não adianta nada você ler todo esse material e não praticar, ou testar uma vez e pronto. Você tem que ir fundo, repetir os testes com pequenas modificações, assim você vai compreendendo melhor o funcionamento das funções e tudo o mais. Pense em coisas práticas, tenha em mente um projeto simples para ir desenvolvendo, essa é a melhor maneira de encontrar motivação para seus estudos e práticas. Depois você vai complicando mais, aos poucos. A boa e velha “agenda” é um bom aplicativo para aprender o básico de banco de dados e formulários. Ou pense em outra coisa que não seja demasiado complicada, e coloque em prática.
É importante ter os pés no chão, e começar com coisas simples. As coisas mais básicas que você precisa aprender e praticar são:
- Diferenças do GET e POST
- Formulários – enviar e receber as informações postadas em um formulário
- Banco de dados – adicionar, remover, modificar
- Upload de imagens e arquivos
- Sessões
A partir daí já é possível criar projetinhos simples, com autenticação de usuário inclusive.
6. Estruturada X Orientada a Objetos
O PHP suporta orientação a objetos, embora não seja totalmente dependente desse conceito, como o Java.
A programação estruturada é mais fácil para quem está começando. Dependendo do material utilizado para estudo, você pode já aprender em cima do conceito de OO, mas geralmente é ensinado primeiro o básico, a sintaxe da linguagem e a utilização de forma estruturada. Depois é vista a parte de OO, e aí você pode utilizar classes para organizar melhor seu projeto.
7. Desesperar jamais
Talento é paciência sem fim. – Gustave Flaubert
No mais, é preciso ter paciência e perseverança, praticar um pouquinho todos os dias, e como dito anteriormente, é legal ter um projeto em mente, assim você se estimula a ir aprendendo as coisas que precisa para colocar seu projeto em prática.
Boa Sorte!







