never и void в PHP 8.1 отличаются поведением при завершении функции. 24
never указывает, что функция никогда не вернёт значение и всегда выбросит исключение или завершится вызовом die или exit. 2 В такой функции нельзя вызывать return, даже без значения. 2
Void позволяет программе продолжить выполнение после вызова функции. 14 В объявленной с таким типом функции можно вызывать return без явного значения. 2
Таким образом, void используют, когда нужно, чтобы PHP продолжил выполнение после вызова функции, а never — когда требуется противоположное поведение. 4
Кроме того, never — это «нижний» тип, то есть метод класса с таким типом возврата не может изменить свой тип возврата на другой. 24