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
- Crie uma conta em https://wiki.php.net/start?do=register
- Email internals com as referências anteriores da sua proposta
- Karma RFC != Karma para votar em RFCs
3. comece a documentar
- Acesse https://wiki.php.net/RFC/nome-da-minha-proposta
- Crie a página, preencha o template e salve
- Edite a página principal de RFCs e liste o seu como rascunho
- Complemente o seu documento. Deixe o mais detalhado possível
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
PHP Core: Understanding the RFCs
By Marcelo Camargo
PHP Core: Understanding the RFCs
- 1,416