Blog Bugginho Academy

O caminho das pedras para se tornar um desenvolvedor PHP

Quando estamos iniciando em uma tecnologia ou em desenvolvimento de softwares em geral, nos deparamos sempre com as mesmas dúvidas “Por onde começar?”, “Qual o melhor livro, curso ou apostila?”, “Qual o melhor editor de código”, etc. Pensando nisso criei esse post com o intuito de servir de guia para quem está começando na área e tem interesse em aprender PHP.

Sites não podem sair dos seus favoritos

PHP.net
PHP.net é o site oficial da linguagem, lá você encontra todas as novidades da linguagem e toda a documentação da mesma. Qualquer dúvida que você tenha sobre a linguagem pode ser sanada por lá.

PHP The Right Way
PHP The Right Way é um compilado de boas práticas para a linguagem PHP, nesse link (que está traduzido para português) você pode encontrar diversas informações sobre como instalar o interpretador, como otimizar seu código, como trabalhar com Classes, Namespaces, Gerenciamento de dependências, etc…

PHP-FIG
Praticamente todas as linguagens têm recomendações de padrões para construção de códigos e aplicações. No PHP esses padrões são chamados de PSR e você pode encontrar todas elas no PHP-FIG.

Programas que você precisa ter em seu computador

Montar um ambiente de desenvolvimento PHP em seu computador é algo muito simples. Basicamente você só precisa de um interpretador PHP, um editor de textos e um Navegador Web, porém, com o passar do tempo, você vai se aprofundando mais na linguagem e alguns outros softwares se fazem necessários.

Listo abaixo alguns softwares que podem otimizar o seu tempo.

Pacote Wamp/Lamp/Mamp
Existem vários programas que instalam automaticamente em seu computador um servidor web, o interpretador PHP, o MySQL e algumas outras ferramentas. Dentre os mais populares estão:

– Wamp
– Xampp
– Easy PHP
– Laragon
– MAMP (Disponível apenas para MAC OS)

Caso você use LINUX, siga esse tutorial muito bacana e super simples disponível no site da DigitalOcean

Editores de Texto
Aqui eu poderia ficar o dia inteiro falando sobre as centenas de opções disponíveis no mercado, mas vou apenas citar as mais populares

– Visual Studio Code: Este editor foi desenvolvido pela microsoft e está há pouco tempo no mercado, porém teve uma aceitação quase que instantânea. Ele é super leve, minimalista e tem uma infinidade de plugins para as mais diversas linguagens, frameworks e aplicativos de terceiros.

– Sublime Text: Talvez o mais popular. O Sublime text ficou famoso pela sua interface minimalista e pela facilidade de personalização. Em seu repositório de plugins é possível achar plugins para praticamente tudo, inclusive eu escrevi um post sobre como configurar o Sublime text aqui mesmo no blog.

– Atom: Desenvolvido pelo pessoal do GitHub o Atom tem uma proposta muito parecida com a do Sublime Text. Ele é um pouco mais pesado que o Sublime, porém qualquer computador que não seja um PC da XUXA roda ele tranquilamente.

– Notepad++: Vou ser sincero, eu nunca gostei do Notepad++, mas tem quem o ame. Se você quer uma opção mais Windows Like, vai fundo nesse editor.

– RapidPHP: Diferente do Visual Studio Core, Sublime e Atom, o RapidPHP tem uma proposta de trazer tudo que você precisa por Default sem precisar incluir plugins, mas sinceramente ele não cumpre bem esse papel. Eu acho ele um editor bacana, bonito, rapido e com alguns recursos de GUI interesante para quem também quer trabalhar com HTML e CSS.

IDEs
IDEs são ambientes mais completos e mais complexos que os simples editores de texto. Eles trazem diversas ferramentas integradas como Controladores de versão, QueryBrowsers, Editores de Texto, Navegado Web, etc. Existem diversas opções no mercado, mas as mais populares são:

PHP Storm
Zend Studio
Eclipse
Netbeans

Controladores de versão
Há um tempo atrás o SVN reinava como o mais popular sistema de controle de versão, porém hoje em dia a coisa mudou e o mais popular sistema de controle de versão é o GIT. O Git foi desenvolvido por Linus Torvalds, é gratuito e super simples de usar. Existem diversos aplicativos que facilitam ainda mais a sua utilização. Uma vez instalado em seu computador você já pode usar o Git, porém é super útil ter um servidor remoto. 3 Alternativas gratutias muito bancanas são GitHub, GitLab e BitBucket, eu uso os 3 mas prefiro o BitBucket.

Além de manter um histórico de todas as alterações feitas em seu código, o git facilita o trabalho em equipe e o compartilhamento de código.

Gerenciador de dependências
Todas as principais linguagens de programação têm sistemas de gerenciamento de dependências. O PHP até pouco tempo atrás não tinha, mas hoje em dia podemos desfrutar de todos os benefícios de utilizar o composer, que dentre outras coisas facilita a instalação de pacotes de terceiros que por vezes utilizamos em nossos projetos.

Cursos on-line

Existem diversos cursos de PHP pela internet afora, alguns pagos outros gratuitos, porém infelizmente boa parte deles são muito ruins. Ou porque tem uma didática ruim (Ex.: Exige que o aluno tenha diversos pré-requisitos e não deixa isso claro, o que faz com que o aluno ache que não está aprendendo porque não nasceu para aquilo), ou porque o professor não tem conhecimento técnico suficiente ou ainda porque o cursos é limitado.

Se você está dando os primeiros passos com PHP um curso que eu acho bastante legal é o do Guanabara, Cursos PHP Iniciante. O curso é 100% free e você pode acompanha-lo pelo Youtube.

Não estou com isso dizendo que o único curso de PHP que presta é esse, muito pelo contrário, existem diversos outros cursos legais, mas esse eu acho legal por ter uma didática muito boa e por ser free.

Se você pode pagar por um curso, um outro muito legal é o da Code Education. Esse curso é bastante completo e você ainda ganha de brinde diversos outros cursos como GIT, OO, Design Patterns, Testes Unitários e Frameworks como Silex e Doctrine.

Um outro curso legal é o da Upinside PHP Orientado a Objetos. É um curso bastante completo que aborda diversos recursos da linguagem

Livros

Geralmente quem quer aprender mais rápido acaba optando por cursos o que é legal até um certo ponto, porém nada melhor que um bom e velho livro. Eu sinceramente prefiro livros porque os livros em sua grande maioria têm um conteúdo mais aprofundado e você pode levá-lo para qualquer lugar.

Dica: Assista as aulas dos cursos para poder ter um Hands-on mais rápido, porém invista em um bom livro, sempre leia a documentação da linguagem e participe das comunidades.

Desenvolvendo websites com PHP
Quando eu estava iniciando há alguns anos, esse livro estava em sua primeira edição e me ajudou muito a aprender PHP. Eu tinha comprado antes outro livro mais avançado de PHP que acabou mais confundindo a minha cabeça do que me ensinando, e após adquirir esse livro do Juliano Niederauer, tudo ficou claro para mim.

PHP Programando com Orientação a Objetos
Outro livro muito bom e que me ajudou muito é esse do Pablo Dall’Oglio. Esse livro foi re-editado em 2015 para refletir as novidades do PHP 7. É um livro muito completo e é indispensável para quem quer aprender PHP Orientado a Objetos. Falei um pouco sobre esse livro aqui mesmo no blog.

Test-Driven Development – Teste e Design no Mundo Real com PHP
Testes automatizados são soluções úteis e muito comuns em todas as linguagens de programação. Esse livro mostra como implementar o TDD com o PHP e tornas seus códigos mais confiáveis.

Confira também a entrevista que fiz com o autor desse livro aqui no Blog.

Frameworks

Eu poderia dizer que assim como Editores e IDEs, Framework é algo muito pessoal, mas a verdade não é bem essa, em alguns casos você pode sim por gosto optar por um Framework ou outro, mas em boa parte das vezes, os requisitos do projeto é que definirão quais as melhores ferramentas.

Codeigniter: O Codeigniter é um Framework simples, leve e super rápido. Ele é ideal para iniciantes e para projetos mais simples. Ele tem o básico que a maioria das aplicações web precisam: MVC, Validação de formulários, Sessions, upload de arquivos, manipulação de imagens, ORM, etc, e tem uma curva de aprendizado muito curta.

Laravel: Atualmente o Laravel é o mais popular Framework PHP. Ele foi construído inspirado no Symfony, Ruby on Rails, .Net, Codeigniter, etc. O Laravel tem uma ideologia bacana, boa parte do que ele traz por padrão são soluções de terceiros, assim temos uma equipe ainda maior dando suporte a diferentes partes do todo. O Laravel é um framework fullstack e trás praticamente tudo que você vai precisar para construir uma aplicação web e o que não tiver por padrão você poderá implementar ou instalar via composer.

Zend Framework: O Zend Framework é uma solução bastante conhecida pela comunidade PHP. Ele é bastante robusto, rápido e foi desenvolvido com o objetivo de simplificar o desenvolvimento web e promover as melhores práticas na construção de aplicações PHP. Além disso tudo a Zend é uma das empresas que mais investe no PHP e fornece diversas outras soluções que se integram muito bem com o Zend Framework como o Zend Studio, ZRay e Zend Server.

Symfony: Assim como o Zend Framework o Symfony é uma ótima opção para quem busca um Framework de alta performance e que implementa boas práticas de engenharia de software. O Symfony traz uma série de recursos nativos e é possível instalar diversos outros.

Existem diversos outros frameworks que merecem ser citados como o CakePHP, Yii e Phalcon. Os micro frameworks Silex, Lumen, Slim e Zend Expressive, o Apigility que é um framework centrado em APIs e o Doctrine que é um Framework ORM muito utilizado em diversos projetos PHP. Vale muito a pena dar uma conferida também.

Onde tirar dúvidas?

PHP Brasil
Stack Overflow Brasil
Desenvolvimento Web

Bem, por hoje é só. Vou manter esse post sempre atualizado então, favorite ele e de vez enquanto dê uma olhada para se manter sempre atualizado 😉

Valeu!!!

Paulo Reis

Comentar

Your Header Sidebar area is currently empty. Hurry up and add some widgets.