Вы можете вернуть свой метод, но имейте в виду видимость указанного c метода и из какой области его можно вызвать. Эти два метода являются частными и могут быть вызваны только внутри данного класса.
Проблема с этим кодом заключается в том, что вы вызвали ваши методы как свойства, и, следовательно, ошибка для неопределенного свойства.
Их следует вызывать как методы с круглыми скобками и 2 обязательными переданными $this->fromM($value, $to)
, также вам необходимо передать аргументы $value
и $to
в switchUnitCall()
, поскольку они также являются обязательными. Кроме того, эти два метода должны возвращать результат:
class Converter {
public function convert($value, $from, $to){
$this->switchUnitCall($from, $value, $to);
}
private function switchUnitCall($from, $value, $to){
switch($from){
case 'm':
return $this->fromM($value, $to);
break;
case 'km':
return $this->fromKM($value, $to);
break;
}
}
private function fromM($value, $to){
//return conversion
}
private function fromKM($value, $to){
//return conversion
}
}