7 dicas para dominar o PHP

Tempo de leitura 3 minutos

Neste artigo eu vou fazer um compilado de regras que irão ajudar você a ser um dev PHP melhor, eu gostaria de deixar claro que em alguns pontos eu vou deixar alguns “ganchos” para você pesquisar sobre os assuntos, já que descrever TUDO vai ficar bem inviável em um único artigo (ou livro).

Conheça o Composer a fundo

Se por um lado existem pessoas que, assim como eu, não se imaginam vivendo sem o Composer. Por outro lado, existem as que subestimam totalmente a relevância da ferramenta.

Com o Composer você consegue carregar seus arquivos de classe automaticamente, sem precisar dar require em cada um, organizar seu projeto em módulos, carregar pacotes de varias origens diferentes (GitHub, BitBucket, sistema local, gerenciador de pacotes, o Packagist (padrão), por exemplo), automatizar scripts de linha de comando e outros.

Se quiser saber mais sobre o Composer, aqui os artigos que publiquei sobre ele:

Artigos sobre Composer.

Aprenda Orientação a Objetos

Orientação a Objetos é um dos principais paradigmas de programação (os outros são o funcional, lógica, imperativa e POG*) e o mais usado com PHP atualmente.

* POG – Programação Orientada a Gambiarra.

A vantagem da Orientação a Objetos é seu foco em reutilização, mas alcançar um nível em que se consegue tirar total proveito disso pode levar um tempo, além de acabar necessitando conhecer uma série de “práticas” que vão te ajudar a ser cada vez mais produtivo e eficiente.

Claro que aprender estas outras práticas vai ser natural na sua evolução. Pra quem curte aprender coisas novas e escrever códigos bem estruturados, estudar Orientação a Objetos é um deleite.

Eu não tenho material sobre esse assunto aqui no blog, mas vou deixar uma série de artigos que usa OO em larga escala.

Série PHP sem Framework.

Estude testes automatizados

Teste automatizado é outro ponto importante do desenvolvimento, aplicar esta técnica vai te ajudar a manter a qualidade de software a medida em que ele cresce.

Eu falei sobre minha experiência com testes automatizados em um artigo no Dev.to, da uma olhada lá:

Como FINALMENTE começar com TDD de “forma NÃO forçada”.

Pratique clean code

Essa dica é MUITO controversa, mas como eu não ligo vou falar (ou escrever) assim mesmo.

Clean Code é a arte de escrever código limpo e claro, existem MUITAS regras e práticas que te ajudam a chegar lá, vou listar algumas:

  • PSRs, principalmente a 4, 1 e 12
  • SOLID, embora não seja EXATAMENTE clean code, ajuda MUITO – vou falar disso no próximo item
  • KISS – Keep It Simple, Stupid – É bem simples, significa Mantenha Isso Simples, Idiota – Não preciso nem explicar.
  • DRY – Don’t Repeat Yourself – Não repita você mesmo
  • Faça o mais simples possível, sempre

Estes são só alguns, mas outro item que recomendo você procurar sobre é Calistenica de Objetos ou Object Calisthenics, que são regras que ajudam a melhorar a legibilidade do código.

Eu encaro Object Calisthenics como uma série de exercícios em vez de regras, eu não acho que devo ser cobrado por isso, mas olho como uma forma de identificar partes do código que podem ser melhoradas.

Aprenda SOLID

SOLID é o acrônimo construído com as primeiras letras de 5 regras básicas para construir códigos SÓLIDos com Orientação a Objetos.

As regras são:

  • Simple Responsability
  • Open/Closed Principle
  • Liskov Substitution
  • Interface Segregation
  • Dependency Invertion

Cada uma destas práticas irá te ajudar a focar em construir um código mais estruturado e fácil de manter e crescer, confia.

Estude design patterns

Design Patterns ou padrões de projeto (alguns preferem padrões de design) são soluções propostas para problemas comuns e conhecidos do desenvolvimento com Orientação a Objetos, vale a pena conhecer e se inteirar sobre.

Os mais conhecidos são os da GOF (Gang of Four) que documentaram 26 padrões de projetos divididos em 3 categorias.

Padrões de criação

  • Abstract Factory
  • Object pool
  • Builder
  • Factory Method
  • Prototype
  • Singleton

Padrões estruturais

  • Private class data
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Façade (ou Facade)
  • Business Delegate
  • Flyweight
  • Proxy

Padrões comportamentais

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor

Aprenda um framework

É a melhor dica de todas, sabe porque? Porque é, ué!

Um framework define uma arquitetura para seu projeto, traz uma gama de utilidades prontas para usar e te colocam no caminho das boas práticas, além de contar com documentação e comunidades de devs que te ajudam a aprender e solucionar problemas.

Frameworks que eu recomendo:

  • CakePHP
  • Laravel
  • Slim Framework
  • Symfony

Inclusive, tenho uma série de artigos sobre Laravel, no momento em que eu escrevo este artigo só tenho o primeiro publicado, vou deixar o link pra você ver se já publiquei novos artigos.

Série Laravel para iniciantes.

Autor: Erik Figueiredo

Músico, gamer amador, tutor de programação, desenvolvedor freelancer full cycle, com foco em PHP (Laravel e CakePHP), Javascript (Front e Node.js), Dart (Front e Flutter) e infra.

Deixe uma resposta

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