PHP


Tudo que você precisa saber para dizer que sabe

Quem sou eu?

Alessandro Feitoza

  • Professor de códigos e outras computarias
  • Programador/Dev/Severino
  • PHP com Rapadura
  • PHPeste

Code Style

PHP não é terra sem lei (mas se quiser pode)

Você não chega num lugar sem saber as regras de lá

Não é porque você tá aprendendo que não pode aprender do jeito certo

Code Style


Debugging

PHP é Interpretado

Não precisa breakpoint pré compilação (que nem no java)

Ninguém debuga no PHP (Mito)

Debugging


  • xDebug
  • var_dump, die, dd(),
  • Laravel/DebugBar
  • Symfony/debug

ORM / ODM

Aprenda sobre Database Pattern

Não deixe de aprender SQL puro (vc vai precisar)

Não conte com o ORM pratudo, pra mapear é show de bola

Se for mexer com banco NoSQL procure por ODMs

ORM / ODM


  • DoctrineORM
  • DoctrineODM (MongoDB)
  • Eloquent
  • Propel
  • CycleORM

Frameworks

Não deixe o framwork atrapalhar suas entregas

Aprenda sobre Database Pattern

Aprenda primeiro o PHP das Ruas

Aprenda Orientação a Objetos

Faça um CRUD com PHP puro, do jeito certo

Frameworks


  • Symfony
  • Laravel
  • Slim
  • Silex, CodeIgniter, Phalcon, Yii, etc

Stack / Ecossistema

Defina o(s) banco(s) principal(is)

Defina/Aprenda a arquitetura (monolitica, microservices, mvc, layers, SOA)

Entenda o problema que quer resolver (e isole ele)

Dê uma olhada com os olhos em DDD

Stack / Ecossistema


  • Bancos: MySQL/MariaDB, PostGres, MongoDB e muitos outros
  • CMS: WordPress, Drupal, Magento, Joomla
  • LMS: Moodle, WordPress

Testes / Qualidade

Defina o que vale a pena testar (endpoints, regras de negócio, etc)

Crie testes junto com os códigos (TDD ou algo assim)

Testes unitários são rápidos mas não garantem muita coisa

Lembre da Teoria das Janelas Quebradas

Testes / Qualidade


  • PHPunit
  • Behat
  • PHPSpec
  • Codeception
  • Pest

Ambiente


Outras coisas do PHP


  • Machine Learning: PHP-ML / Rubix-ML
  • Event Driven: ReactPHP
  • ServerLess Bref
  • Performance Hyperf

Outras coisas do PHP


Cuidado


  • XSS
  • SQL Injection
  • Encriptação de senhas
  • Upload de arquivos

Comunidades


PHP não faz tudo
mas faz um bocado de coisa

Referências

Valeu o Boi, valeu o Vaqueiro


@alessandro_feitoza
https://linkedin.com/in/AlessandroFeitoza
https://alessandrofeitoza.github.io/slides