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 = $this->mergeGlobals($resource->getContent(), $options);
$this->cache->setTime(time());
$this->cache->makeCache($this);
}
}