parameterObjectName=$parameterObjectNameArgument; } function read() { return file_get_contents($this->parameterObjectName); } } abstract class GeneralParser { protected $parameterObject; function __construct(Parameters $parameterObjectArgument){ $this->parameterObject=$parameterObjectArgument; } abstract function parse(); } class IniParser extends GeneralParser { function parse() { return parse_ini_string($this->parameterObject->read()); } } class ApplicationSetup { protected $setupData=array(); protected $parserObject; function __construct(GeneralParser $parserObjectArgument) { $this->parserObject = $parserObjectArgument; $this->loadDataFromIni(); } protected function loadDataFromIni(){ $this->setupData = $this->parserObject->parse(); } public function getAllParameters(){ return $this->setupData; } public function getParameter($parameterIdentifier){ return NULL; /* ezt még meg kell írni */ } } error_reporting(E_ALL); require_once '../config/Setup.php'; $setupParameters=new ApplicationSetup(new IniParser(new ParametersFromFile("../config/setup.ini"))); var_dump($setupParameters->getAllParameters());