Junior — Middle
Est-il valide de déclarer une méthode avec un modificateur de confidentialité à l'intérieur d'une interface?
sobes.tech IA
Réponse de l'IA
В PHP интерфейсы предназначены для объявления публичных методов, которые должны реализовываться классами. Объявлять методы с модификатором приватности внутри интерфейса нельзя — все методы интерфейса по умолчанию публичные.
Если попытаться объявить приватный метод в интерфейсе, это вызовет ошибку.
Пример корректного интерфейса:
interface Logger {
public function log(string $message);
}
Если нужна приватная логика, её реализуют внутри класса, а интерфейс описывает только публичный контракт.