Type hinting в PHP
5 июля 2009
Довольно давно уже пользуюсь проверкой типов в методах. С тех пор как начал работать с PHP после Java. Очень удобно:
interface Processor { function processData(); } class DataProcessingModule implements Processor { public function processData() { return 'processed data'; } } function process(Processor $processor = null) { if($processor===null) return false; return $processor->processData(); }
Передать параметром в process() что-либо, не реализующее интерфейс Processor становится невозможным, что даёт программисту дополнительный контроль.
Интерфейсами возможности не ограничиваются. Можно использовать:
Классы, учитывая наследование.
Интерфейсы.
array.
self и parent.
Простые типы, к сожалению, пока не поддерживаются, но работы в этом направлении ведутся:
Комментарии RSS по email OK