API16

JRegistry/loadFile: Difference between revisions

From Joomla! Documentation

Doxiki (talk | contribs)
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


<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[Description:JRegistry/loadFile|Edit Descripton]]<nowiki>]</nowiki>
</span>


{{Description:JRegistry/loadFile}}
 
 


===Syntax===
===Syntax===
Line 76: Line 74:
</source>
</source>


<span class="editsection" style="font-size:76%;">
 
<nowiki>[</nowiki>[[SeeAlso:JRegistry/loadFile|Edit See Also]]<nowiki>]</nowiki>
 
</span>
{{SeeAlso:JRegistry/loadFile}}


===Examples===
===Examples===
<CodeExamplesForm />
=== Code Examples ===
<dpl>
<dpl>
  noresultsheader=\n
  noresultsheader=\n
  category=loadFile
  category=loadFile
  category=JRegistry
  category=JRegistry
  category=CodeExample
  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