public function AutoloadCache::__construct in Autoload 7.2
Parameters
string $file: A path to file for storing the autoloading map.
Overrides ArrayContainer::__construct
File
- ./
autoload.cache.inc, line 128 - Autoload cache controller.
Class
- AutoloadCache
- Class AutoloadCache.
Code
public function __construct($file) {
parent::__construct();
$this->file = $file;
$this->binExists = db_table_exists(static::BIN);
if (is_readable($this->file)) {
$this->data = (require $this->file);
}
// If the file doesn't exist, not readable or doesn't contain a map.
if (empty($this->data) || !is_array($this->data)) {
$this->data = $this->binExists ? db_select(static::BIN)
->fields(static::BIN)
->execute()
->fetchAllAssoc('namespace', \PDO::FETCH_ASSOC) : array();
// Rebuild if a database is empty, try to store data in file otherwise.
empty($this->data) ? $this
->rebuild() : $this
->updateFile();
}
}