Я изучаю PHP ООП и сейчас я создал базовый калькулятор.
Вот мой код на index.php
:
require_once 'Calculator.class.php';
require_once 'Adder.class.php';
require_once 'Substract.class.php';
require_once 'Operator.interface.php';
require_once 'Multiplier.class.php';
require_once 'Devider.class.php';
$c = new Calculator;
$c->setOperation(new Adder);
$c->calculate(10,50); // 60
echo $c->getResult();
А это файл класса Calculator
:
class Calculator
{
protected $result;
protected $operation;
public function setOperation(OperatorInterface $operation)
{
$this->operation = $operation;
// var_dump($operation);
}
public function calculate()
{
foreach(func_get_args() as $number)
{
$this->result = $this->operation->run($number,$this->result);
}
}
public function getResult()
{
return $this->result;
}
}
И это интерфейс, который вызывается в этом файле класса:
interface OperatorInterface
{
public function run($number,$result);
}
А это класс Adder
, который вызывается из index.php
:
class Adder implements OperatorInterface
{
public function run($number,$result)
{
return $result + $number;
}
}
Как вы можете видеть, это выглядит хорошо и хорошо ... однако я получаю эту странную ошибку:
Неустранимая ошибка: интерфейс «OperatorInterface» не найден в строке 2 Adder.php
Итак, строка 2 из Adder
Класс такой:
class Adder implements OperatorInterface
Это означает, что я неправильно включил интерфейс. Но я включил это.
Так почему я получаю эту ошибку?
Где я допустил ошибку?