Add sniff to delete_option() + add_option
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par retracer la manière dont les sniffs PHP_CodeSniffer existants représentent les appels à delete_option() et add_option(), y compris leur scope et la gestion des option-keys. Le travail est considéré comme terminé lorsque les appels correspondants dans le même scope sont signalés, en excluant les scopes ou les keys différents, et que update_option() est suggéré ; l’issue ne nomme aucun fichier cible ni aucun test.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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).
- Langage dominant
- PHP
- Étoiles
- 261
- Forks
- 44
- Merge moyen
- 3 j 9 h
- PR mergées (30 j)
- 10
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Automattic/VIP-Coding-Standards
-
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
Automattic/VIP-Coding-Standards#876 ·
Les mainteneurs répondent en général sous 1 jour
-
Breaking Change Type: Maintenance
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
Automattic/VIP-Coding-Standards#849 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
Automattic/VIP-Coding-Standards#832 ·
Les mainteneurs répondent en général sous 1 jour
-
WordPress.WP.AlternativeFunctions.file_system_operations error messages cannot be fixed anymoreOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
Automattic/VIP-Coding-Standards#823 ·
Les mainteneurs répondent en général sous 1 jour
-
Status: Awaiting feedback
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
Automattic/VIP-Coding-Standards#754 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Automattic/VIP-Coding-Standards
Issues similaires
-
Awaiting Triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour
-
tui: PHP code blocks without `<?php` are not syntax highlightedPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertereproduced
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
anomalyco/opencode#58664 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 87/100
WordPress/phpunit-test-runner#364 ·
Les mainteneurs répondent en général sous 4 jours
-
domain/framework Platform(Default) priority/high
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours