Недавно я натолкнулся на некоторый PHP, в котором были определены константы в интерфейсе, которые затем вызывались статически и передавались методу в объекте, реализующем этот интерфейс.
Какую цель это послужит? Я предполагаю, что значения, которые будут переданы в этот метод, будут затем обновляться / изменяться в одном месте, но нет никакого способа обеспечить это с помощью подсказки типа для параметров этого метода, чтобы любая вещь могла быть передана?
Пример:
interface test_inter {
const foo = "bar"
}
class test_obj implements test_inter {
public function test_func( string $test_param ) {
}
}
$obj = new test_obj();
$obj->test_func(test_inter::foo);
Возможно, там есть некоторые синтаксические ошибки, так как я только что набрал его в качестве демонстрации, мой вопрос больше о том, почему нечто подобное будет реализовано (или даже должно быть?), А не о каких-то небольших ошибках в приведенном выше примере.