Я создаю абстрактный класс Feed Reader для дальнейшего объявления адаптеров для чтения из разных источников данных. Я хотел бы объявить одно из свойств (формат), чтобы быть только в пределах выбранного подмножества (JSON, XML в данном случае) при определении расширенных классов, а именно:Объявление абстрактного свойства из подмножества
abstract Class FeedReader {
public $url;
//This is the line where I would like to define the type, but available only from a subset (json or xml).
abstract function getData();
}
class BBCFeed extends FeedReader {
public $type = 'json'; //I want this value to be restricted to be only json or xml
function getData() {
//curl code to get the data
}
}
Что является наиболее эффективным (и правильно) способ объявления типа $ в абстрактном классе ?. Я хочу ограничить тип $ только в пределах объявленного подмножества из абстрактного класса.
спасибо.
Как насчет 'абстрактной функции getType()'? –
@ D.Dimitrioglo Я думаю, что это все равно позволит дочерним классам определять любой тип. – Watt