Ваша проблема не снаружи, а внутри:
public function factorial($number) {
if ($number < 2) {
return 1;
} else {
return ($number * $this->factorial($number-1));
}
}
Если вы хотите обратиться к другому методу, вы должны использовать $this->methodname
, где $this
ссылается на экземпляр:
Псевдопеременная $this
доступна, когда метод вызывается из контекста объекта.$this
является ссылкой на вызывающий объект (обычно это объект, к которому относится метод (...))
Я предлагаю прочитать PHP - OOP - Основы.