Вопрос по интерфейсам в PHP

avtomon

Новичок
Здравствуйте.
На php.net написано: "Интерфейсы объектов позволяют создавать код, который указывает, какие методы и свойства должен включать класс...". Во многих других источника так же указывается на возможность указания свойств в интерфейсе. Однако, в других источниках указывается обратное. Мой редактор тоже ругается на наличие в интерфейсе определений свойств. Подскажите где истина))
Спасибо
 

AmdY

Пью пиво
Команда форума
это ошибка в документации, свойства в php не покрываются интерфейсом.
 

avtomon

Новичок
А есть ли способ как-нибудь жестко регламентировать наличие свойств, как это сделано для методов в интерфейсе?
 

AmdY

Пью пиво
Команда форума
avtomon
теоретически это не нужно для интерфейса, так как для реализации функционалов ты не должен завязываться на свойства. в то же время можно написать интерфейсы на методы get-set свойств, ведь свойства в любом случае не должны вызываться напрямую за исключением этих двух методов.
 

avtomon

Новичок
Ну это полумера, конечно, хотя "на безрыбье и рак рыба". Спасибо
 

Вурдалак

Продвинутый новичок
Если понадобилось декларировать свойства, то надо подумать об абстрактном классе.
 

avtomon

Новичок
Абстрактный класс, на сколько я знаю, не обяжет программиста реализовывать все что в нем написано. С другой стороны можно наследовать свойства у абстрактного класса, а набор методов брать из интерфейса. Это не позволит программисту забыть про методы и избавит от необходимости в каждом потомке определять общие для всех свойства...Да...спасибо за наводящую мысль)))
 

Placido

Наблюдаю
это ошибка в документации, свойства в php не покрываются интерфейсом.
Уточню - ошибка в русскоязычной документации. В англоязычной версии все в порядке. В который раз убеждаюсь, что следует читать первоисточник.
 
Сверху