Se você participa de alguma comunidade de desenvolvedores, sabe que existem "tretas" acerca das linguagens de programação, muito por conta dos famosos fanboys que adoram depreciar outras linguagens para enaltecer a que eles trabalham.
Duas das linguagens que sofrem bastante com essas discussões são Java e PHP. A primeira por ter uma fama de ser lenta e extremamente verbosa, e a segunda por conta do seu passado onde não tinha nenhum tipo de padronização, que acabou se popularizando pelo seu estilo macarrônico de implementação.
Juntando essa má fama com o fato que as escolas de programação estão focando em stacks como Javascript (dá para usar em todas as camadas) e Python (muito forte na parte de dados e ML), vemos cada vez menos gente interessada em aprender essas linguagens.
O Java ainda tem como suporte a base acadêmica. Muitas faculdades tem disciplinas de Java em seus currículos, o que favorece a continuidade da formação de mão de obra. Mas, e o PHP?
O PHP ainda sofre, e muito, com o legado da sua má fama do passado. Pessoas que já trabalharam com o Wordpress/Joomla (CMS's desenvolvidos em PHP) são os maiores detratores da linguagem. Mas, elas não sabem que essas ferramentas não representam as melhores práticas, não representam a comunidade, e não representam o PHP de uma maneira geral.
Muitas empresas acabam entrando nessa onda por pura falta de informação, e acabam removendo o PHP das suas stacks para "aderir à uma linguagem melhor". No passado, eu já ouvi de um cliente, no momento da definição da stack de um projeto: "menos o PHP, por favor". Acho que já deu para entender o tamanho do preconceito com a linguagem, e o impacto que isso tem feito no mercado, né?
Com o objetivo de atrair mais pessoas a se interessarem pelo PHP, estou começando uma série de artigos para que possamos extrair o melhor da linguagem.
- Links de referência;
- Melhores práticas;
- Design patterns;
- Arquitetura de software;
- etc.
Então, vamos lá conhecer os principais links para você sempre conseguir extrair o melhor do PHP.
Documentação
Como qualquer ferramenta do mundo da programação, o PHP tem uma documentação oficial. Eu considero uma das documentações mais fáceis de entender, e simples de navegar. Funções nativas, bibliotecas, padrões, versões, e muito mais coisas você irá encontrar por lá.
Melhores Práticas
Bom, a documentação é um local para consultas contínuas sobre dúvidas pontuais. Mas, como eu posso melhorar meu conhecimento na linguagem aplicando as melhores práticas? O site "PHP The Right Way" aborda temas como code style, segurança, virtualização de aplicações, cacheamento, injeção de dependências, exceptions, etc. Estou deixando aqui o link para a versão em português, mas como quase tudo no mundo da programação, a versão em inglês é mais completa e atualizada.
PHP Standards Recommendation (PSR)
Padronização é algo essencial para que uma linguagem tenha uma adoção massiva em comunidades e empresas em geral. As PSR's tem esse objetivo, padronizar a maneira como o PHP implementa determinadas estruturas de código.
Como o nome já diz, é uma recomendação de padronização do PHP. Não é obrigatório implementar. Mas conhecer as PSR's e saber implementá-las (principalmente as de code style) são fundamentais para a evolução de qualquer pessoa que queira se aperfeiçoar no PHP.
Cursos
Sendo bem honesto, cursos básicos de PHP são todos muito parecidos e fica difícil diferenciar um do outro. Em casos como esse, eu recomendo pegar uma playlist no Youtube, verifica se ela é recente, se é um canal bem recomendado, e mete bala!
Para não dizer que não citei nenhum, eu recomendo essas 2 playlists do canal do Dani Krossing (em inglês):
- Introdução ao PHP: youtube.com/playlist?list=PL0eyrZgxdwhxhsuT..
- PHP Orientado a Objetos: youtube.com/playlist?list=PL0eyrZgxdwhypQiZ..
Não vou nem dizer que meu curso está no forno. Ele está, digamos, preparando a massa ainda. :D
PHP Playground
Enquanto você estuda uma linguagem e não quer, ou ainda não sabe, instalar o ambiente na sua máquina, você pode usar o que chamamos de playground. Um ambiente online que te permite escrever trechos de código para aquela linguagem e "compilar" em tempo de execução.
Você pode colocar no Google [QualquerLinguagem] Playground que vai achar várias ferramentas, mas em todo caso, vou deixar um link aqui:
code.sololearn.com/wAQh3FwVdYGO
Bom, acredito que, para um primeiro artigo da série, tenha informações relevantes para todas aquelas pessoas que queiram ingressar no fantástico mundo do PHP. :)
Se você acha que esqueci de algo relevante que deveria estar nessa lista, comenta aí embaixo.