PHP это не Java.Вы не можете объявить экземпляр следующим образом:
AbstractFactory $afobject = new ConcreteFactory();
Вы просто делаете
$afobject = new ConcreteFactory();
, и это даст вам экземпляр ConcreteFactory в $ afobject.
Есть другиесинтаксические ошибки также:
public function xyz(
return new ABC();
);
должен прочитать
public function xyz() {
return new ABC();
}
, и после пропуска
require_once "ConcreteFactory .php"
отсутствует точка с запятой. Попробуйте код с IDE, которая выполняет синтаксисвыделите или запустите свой код с помощью php -l filename
из командной строки, чтобы скопировать его.