API16:JRegistry/loadFile
From Joomla! Documentation
Description
Load the contents of a file into the registry
Syntax
loadFile($file, $format= 'JSON', $namespace=null)
| Parameter Name | Default Value | Description |
|---|---|---|
| $file | Path to file to load | |
| $format | 'JSON' | Format of the file [optional: defaults to JSON] |
| $namespace | null | Namespace to load the JSON string into [optional] |
Returns
boolean True on success
Defined in
libraries/joomla/registry/registry.php
Importing
jimport( 'joomla.registry.registry' );
Source Body
public function loadFile($file, $format = 'JSON', $namespace = null)
{
// Load a file into the given namespace [or default namespace if not given]
$handler = &JRegistryFormat::getInstance($format);
// If namespace is not set, get the default namespace
if ($namespace == null) {
$namespace = $this->_defaultNameSpace;
}
// Get the contents of the file
jimport('joomla.filesystem.file');
$data = JFile::read($file);
if (!isset($this->_registry[$namespace])) {
// If namespace does not exist, make it and load the data
$this->makeNameSpace($namespace);
$this->_registry[$namespace]['data'] = $handler->stringToObject($data);
} else {
// Get the data in object format
$ns = $handler->stringToObject($data);
/*
* We want to leave groups that are already in the namespace and add the
* groups loaded into the namespace. This overwrites any existing group
* with the same name
*/
foreach (get_object_vars($ns) as $k => $v) {
$this->_registry[$namespace]['data']->$k = $v;
}
}
return true;
}
Examples
Code Examples