<rmcreative>

RSS

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.

Простые типы, к сожалению, пока не поддерживаются, но работы в этом направлении ведутся:

Type hinting for PHP 5.3

Type hinting rehashed (now with type casting support)

Комментарии RSS

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.