Разница между типизированными и нетипизированными константами в PHP заключается в том, что для типизированных констант указывается тип данных, а для нетипизированных — нет. 14
Типизированные константы класса появились в версии PHP 8.3, и с их помощью можно указывать тип константы класса. 25 Например, class Foo { const string BAR = 'baz';}
. 2
До PHP 8.3 нельзя было объявлять типы констант, что могло привести к путанице или неясности в отношении типа, с которым работает разработчик. 5
Также стоит учитывать, что свойство, для которого не указан тип данных, по умолчанию имеет значение null, а свойство, для которого указан тип, неинициализировано, то есть не имеет никакого конкретного значения. 1