JRegistry/loadFile: Difference between revisions
From Joomla! Documentation
New page: ===Description===
Load the contents of a file into the registry
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>Edit Descripton<... |
m preparing for archive only |
||
| (One intermediate revision by the same user not shown) | |||
| Line 2: | Line 2: | ||
Load the contents of a file into the registry | Load the contents of a file into the registry | ||
===Syntax=== | ===Syntax=== | ||
| Line 76: | Line 74: | ||
</source> | </source> | ||
===Examples=== | ===Examples=== | ||
=== Code Examples === | |||
<dpl> | <dpl> | ||
noresultsheader=\n | noresultsheader=\n | ||
category=loadFile | category=loadFile | ||
category=JRegistry | category=JRegistry | ||
namespace=CodeExample | |||
category=MethodExample | category=MethodExample | ||
include=* | include=* | ||
format= ,,, | format= ,,, | ||
</dpl> | </dpl> | ||
Latest revision as of 01:59, 25 March 2017
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