PHP Core: entendendo os rfcs

...e como você pode contribuir para a linguagem

marcelocamargo@linuxmail.org

github.com/haskellcamargo

quem sou eu?

  • PHP Community contributor
  • Core developer on Quack PL
  • PL researcher
  • Translator
  • Initial proposer of the pipe operator and partial application on PHP

TOC

  • O que é um RFC?
  • Como posso contribuir para o PHP?
  • Referências

Pronto para mergulhar!?

o que é um rfc?

Requests For Comments

É um processo em que

desenvolvedores podem

sugerir e discutir novas

ideias com a comunidade

RFC: Pipe operator

RFC: Pipe operator (edit mode)

RFC: Pipe operator (patch)

Karma

O

processo

1. email internals

internals@lists.php.net

2. requira karma

3. comece a documentar

4. abra para discussão

  • Mude o status para "em discussão"
  • Envie outro email para o PHP internals :)
  • Tudo se baseia em mail lists!

5. aguarde e receba feedback

  • Atualize conforme o feedback
  • Deixe claro todos os pontos expostos

6. inicie a votação

  • ...quando não houver mais nenhuma discussão aberta
  • Mude o status para "em votação"
  • E adicione uma área de votação no seu RFC

7. após os resultados...

  • Seu RFC pode ser aprovado e mesclado ou rejeitado
  • ...e deve ser atualizado com seu estado final

protips

  • Confira se já não há um RFC para o que quer
  • Converse antes com os membros do core (no IRC ou na sala 11 do StackOverflow :D)
  • Evite "eu não sei muito sobre, mas..."
  • Prefira sugestões ao invés de críticas
  • RFCs sobre padronização de funções são desclassificados por razões históricas
  • Especifique tudo que precisa mudar para o sucesso do seu RFC
  • Programar sua feature não é obrigatório (mas ajuda)
  • O core do PHP é relativamente complexo, lembre disso
  • Evite "eu não sei muito sobre, mas..."
  • Ter um RFC rejeitado não é o fim do mundo (experiência própria :()

como eu posso contribuir para o php?

preciso programar?

documentação

testes

bug reports

E se a feature que eu preciso não entrar?

Yay! the php preprocessor

yay! the php preprocessor

<?php

macro ·unsafe { $ } >> { $this } // this shorthand

// source                                |   // expansion
class Foo {                              |   class Foo {
    protected $a = 1, $b = 2, $c = 3;    |       protected $a = 1, $b = 2, $c = 3;
                                         |        
    function getProduct(): int {         |       function getProduct(): int {
        return $->a * $->b * $->c;       |           return $this->a * $this->b *$this->c;
    }                                    |       }
}                                        |   }

https://github.com/marcioAlmada/yay

referências

Estes slides estão em: https://slides.com/marcelocamargo/php-core-understanding-the-rfcs

 

  • https://wiki.php.net/rfc/howto
  • https://blogs.oracle.com/opal/the-mysterious-php-rfc-process-and-how-you-can-change-the-web
  • https://github.com/marcioAlmada/yay
  • http://github.com/haskellcamargo/phpp

php internals book

Ferrara/Nikita

tnx!

papai ama vcs

Made with Slides.com