Add sniff to delete_option() + add_option
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece rastreando como os sniffs existentes do PHP_CodeSniffer representam chamadas a delete_option() e add_option(), incluindo o escopo e o tratamento das option-keys. Considera-se concluído relatar as chamadas correspondentes no mesmo escopo, excluindo escopos ou keys diferentes, e sugerir update_option(); a issue não nomeia um arquivo-alvo nem um teste.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
What problem would the enhancement address for VIP?
As explained at https://github.com/woocommerce/woocommerce/pull/27696 there is a race condition when delete_option('foo') is followed by add_option('foo', '...').
Describe the solution you'd like
Having a sniff that looked for a delete_option() call followed by an add_option() immediately
or at some point within the same scope, for the same option key, could flag this race condition and suggest using update_option() instead.
What code should be reported as a violation?
function reset_settings() {
$defaults = get_default_settings();
delete_option( 'my_settings' );
add_option( 'my_settings', $defaults );
}
Likely to need some consideration of an option key that is using a variable.
What code should not be reported as a violation?
add_option()in a different scope.- different option key (including different variable).
- Linguagem predominante
- PHP
- Estrelas
- 261
- Forks
- 44
- Merge médio
- 3d 9h
- PRs com merge (30d)
- 10
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Automattic/VIP-Coding-Standards
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
Automattic/VIP-Coding-Standards#876 ·
Mantenedores costumam responder em até 1 dia
-
Breaking Change Type: Maintenance
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
Automattic/VIP-Coding-Standards#849 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
Automattic/VIP-Coding-Standards#832 ·
Mantenedores costumam responder em até 1 dia
-
WordPress.WP.AlternativeFunctions.file_system_operations error messages cannot be fixed anymoreAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
Automattic/VIP-Coding-Standards#823 ·
Mantenedores costumam responder em até 1 dia
-
Status: Awaiting feedback
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 45/100
Automattic/VIP-Coding-Standards#754 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de Automattic/VIP-Coding-Standards
Issues semelhantes
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
grokability/snipe-it#19996 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Add a dark themeAbertagood first issue laravel-appointment-reminders
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
-
Text to Speech fails on Windows: the temp file path loses its backslashes when stored in post metaTalvez já em andamento @azizulhasan assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia