Везде искал, но так и не нашел ответа.
Меня терзает вопрос. Возможно ли инициализировать константы в конструкторе?
Версия PHP 8.1.3
Моя неудачная попытка:
interface Value {
const TYPE_ELEMENT = 22;
const TYPE_SECTION = 32;
const TYPE_PRODUCER = 43;
function __construct($Element, $Section, $Producer);
}
class User implements Value {
function __construct($Element, $Section, $Producer){
self::TYPE_ELEMENT = $Element;
self::TYPE_SECTION = $Section;
self::TYPE_PRODUCER = $Producer;
}
function show(){
$values = [self::TYPE_ELEMENT, self::TYPE_SECTION, self::TYPE_PRODUCER];
$a= 0;
foreach($values as $items){
echo ++$a . " - $items <br>";
}}
}
$obj = new User(2,3,4); // Не работает. Должно выводиться:
$obj->show(); // 1-2
// 2-3
// 3-4