You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SlevomatCodingStandard.Functions.StaticClosure does not provide a setting to
toggle this sniff for only arrow functions or traditional function closure
syntax.
While declaring traditional closures static might be a best practice, the PHP
RFC introducing the arrow function implementation implies that declaring static arrow functions is a micro-optimization in the majority of cases:
For normal closures, [$this binding] can be prevented by prefixing them with static. For the sake of completeness this is also supported for arrow
functions...
and:
Static closures are rarely used: They're mainly used to prevent $this
cycles, which make GC behavior less predictable. Most code need not concern
itself with this.
Personally, I would prefer to avoid the addition of static for arrow functions,
as it seems they are, by design, intended to provide a concise syntax without static. Since I don't particularly care about static for traditional closures,
I am fine with just removing this sniff from my configuration.