From 769d4307b15dcd2ae17cde5283d2aa8ca5cc9b91 Mon Sep 17 00:00:00 2001 From: jrfnl Date: Sun, 16 Nov 2025 06:02:17 +0100 Subject: [PATCH] WordPress-Extra: demand for exit/die to always use parentheses _Follow up after PR 2646, pulled separately as the decision point is different._ PHPCSExtra offers two new sniffs to choose from related to whether `exit`/`die` calls should use parentheses or not. This PR proposes to add one of these rules to WordPress-Extra, with an eye to eventually moving the rule to WordPress-Core after a Make post. WordPress Core currently contains 395 calls to `exit`/`die`. If we look at the metrics the new sniffs generate, the current state of WordPress-Core is inconsistent, though leans towards only requiring parentheses when parameters are passed: ``` Exit/die with parentheses: no => 275 ( 69.62%) yes, with parameter(s) => 74 ( 18.73%) yes => 46 ( 11.65%) ----------------------------------------- total => 395 (100.00%) ``` Having said that, the WordPress Coding Standards handbook already contains the following rule regarding object instantiations, for which parentheses are also optional: > When instantiating a new object instance, parenthesis must always be used, even when not strictly necessary. Ref: https://github.com/WordPress/wpcs-docs/blob/master/wordpress-coding-standards/php.md#object-instantiation In this commit, I propose to add a rule to demand that calls to `exit`/`die` always use parentheses. Reasoning: * Creates consistency with the "object instantiations" rule. * Yes, it will cause code-churn in Core if the rule would get adopted in Core, but it will also create more consistency between calls to `exit`/`die`. * Demanding parentheses is also in line with PERCS, which means that the rule doesn't raise the barrier to entry for new contributors to WordPress. Having said this, I can also imagine us holding off on adding this rule to WordPress-Extra and going straight for a Make post to add the rule to WordPress-Core. This would avoid/prevent confusion if a discussion about this on Make would yield another decision (forbid parentheses except when there are parameters). --- WordPress-Extra/ruleset.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/WordPress-Extra/ruleset.xml b/WordPress-Extra/ruleset.xml index a939d1eb9..dfccfc9fd 100644 --- a/WordPress-Extra/ruleset.xml +++ b/WordPress-Extra/ruleset.xml @@ -208,4 +208,7 @@ + + +