Automattic / Automattic/VIP-Coding-Standards

New sniff: Flag unusable query parameters

Ouverte
#731 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Type: Enhancement
Langage dominant
PHP
Étoiles
261
Forks
44
Merge moyen
19 min
PR mergées (30 j)
1

Description

## What problem would the enhancement address for VIP?
On VIP, a selection of [query parameters](https://docs.wpvip.com/technical-references/caching/page-cache/#h-query-parameters) are stripped at the edge which so that the URLs are not cached as separate variants. These parameters are predominantly used for analytics. As such, `$_GET['...']` and other ways of reading the values of the query parameters will return `null` on production and non-production environments.

Helping customers to appreciate when a query parameter isn't going to work on a VIP-hosted site, should save some hours of debugging.

## Describe the solution you'd like

A new sniff to create violations when trying to read one of the documented parameters.

## What code should be reported as a violation?
Substitute `foo` for any of the params in the documentation.

```php
$_GET['foo']
$_REQUEST['foo']
filter_input( INPUT_GET, 'foo'[, ...[, ...]])

$qs = filter_input_array( INPUT_GET[, ...[, ...]] )
$qs['foo'];
```

There may well be other ways to retrieve query string parameters as well.

## What code should *not* be reported as a violation?

```php
$_GET['not-foo']
$_POST['foo']
filter_input( INPUT_POST, 'foo'[, ...[, ...]])
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Aucun fichier d’implémentation ni aucun test n’est indiqué. Commencez par localiser les sniffs PHP_CodeSniffer existants et leurs tests, puis comparez les paramètres VIP documentés aux formes d’accès GET listées ; le travail est terminé lorsque ces formes sont signalées, mais pas POST ni les paramètres sans rapport.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.