Являются ли exit() (или его псевдоним die()) функцией в PHP?
Тут, конечно же подразумевается, что exit - языковая конструкция, как мы это прекрасно знаем, но после выхода PHP 8.4 все изменится и теперь exit будет являться функцией, как в других аналогичных языках программирования, что вполне закономерно - чем меньше функций, которые на самом деле не являются функциями, тем лучше.
Ну и как мы знаем в сравнении с теми же "фейковыми-функциями-собратьями" типа require(), include(), isset(), empty(), print(), echo(), unset(), list() и т.д. которые подразумевают передачу выражения (или чего-то другого) в скобки, или даже без них, точнее скобки там воспринимаются как приоритет в тех же выражениях, то в exit можно не писать скобки.
Для совместимости, RFC позволит синтаксису все так же продолжать опускать скобки, то есть в принципе ничего не изменится, по сути это будет функция с возможностью не передавать аргумент и опускать скобки после:
exit(string|int $status = 0): never {}exit; //все так же валидно
Но чем еще примечательно это изменение, что учитывая направление, который выбрал PHP: быть более строже и предсказуемее, то есть вероятность, что в каком-нибудь PHP 8.5 объявят устаревшим вызов функции exit без скобок, а в следующей мажорной версии 9 вызов syntax error,
а так было удобно экономить время на опускании скобочек! 😁