/** * Creates a new instance of Vars * * @param string|array $resource The main configuration resource * @param array $options The options being used for Vars */ public function __construct($resource, $options = array()) { $options = $this->parseOptions($options); $this->makeCache($options, $resource); $this->makePaths($options); if (!$this->cache->checkCache()) { $this->makeLoader($options); $this->makeVariables($options); $resource = new ResourceProvider($this, $resource); } if ($this->cache->isHit()) { $this->loadFromCache(); } else { $resource->mergeParentContent(); $this->content = $resource->getContent(); $this->cache->setTime(time()); $this->cache->makeCache($this); } }