В PHP 8.6, возможно, это будет работать автоматом. Уже есть соответствующий RFC.
Он вводит автоматическое определение: если замыкание не использует $this, PHP сделает его статическим самостоятельно, без необходимости указывать это разработчиком.
Плюс в этом RFC статические замыкания, не захватывающие переменные (ни через use, ни из enclosing scope), кэшируются и переиспользуются между вызовами, избегая их повторного создания каждый раз.
Что думаете: фича или бага?
👉 https://f2r.github.io/en/static-closures 👉 https://wiki.php.net/rfc/closure-optimizations
👮♂️ Злой полицейский
В этом посте были ссылки, но мы их удалили по правилам Сетки