JDocument/getInstance: Difference between revisions
From Joomla! Documentation
New page: ===Description===
Returns the global JDocument object, only creating it if it doesn't already exist.
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[Description:... |
m preparing for archive only |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
Returns the global JDocument object, only creating it if it doesn't already exist. | Returns the global JDocument object, only creating it if it doesn't already exist. | ||
<! removed transcluded page call, red link never existed > | |||
===Syntax=== | ===Syntax=== | ||
| Line 86: | Line 84: | ||
</source> | </source> | ||
<! removed transcluded page call, red link never existed > | |||
< | |||
===Examples=== | ===Examples=== | ||
=== Code Examples === | |||
<dpl> | <dpl> | ||
noresultsheader=\n | noresultsheader=\n | ||
category=getInstance | category=getInstance | ||
category=JDocument | category=JDocument | ||
namespace=CodeExample | |||
category=MethodExample | category=MethodExample | ||
include=* | include=* | ||
format= ,,, | format= ,,, | ||
</dpl> | </dpl> | ||
[[Category:Archived pages API16]] | |||
Latest revision as of 01:31, 25 March 2017
Description
Returns the global JDocument object, only creating it if it doesn't already exist.
<! removed transcluded page call, red link never existed >
Syntax
static getInstance($type= 'html', $attributes=array())
| Parameter Name | Default Value | Description |
|---|---|---|
| $type | 'html' | $type The document type to instantiate |
| $attributes | array() |
Returns
object The document object.
Defined in
libraries/joomla/document/document.php
Importing
jimport( 'joomla.document.document' );
Source Body
public static function getInstance($type = 'html', $attributes = array())
{
static $instances;
if (!isset($instances)) {
$instances = array();
}
$signature = serialize(array($type, $attributes));
if (empty($instances[$signature]))
{
$type = preg_replace('/[^A-Z0-9_\.-]/i', '', $type);
$path = dirname(__FILE__).DS.$type.DS.$type.'.php';
$ntype = null;
// Check if the document type exists
if (!file_exists($path))
{
// Default to the raw format
$ntype = $type;
$type = 'raw';
}
// Determine the path and class
$class = 'JDocument'.$type;
if (!class_exists($class))
{
$path = dirname(__FILE__).DS.$type.DS.$type.'.php';
if (file_exists($path)) {
require_once $path;
} else {
JError::raiseError(500,JText::_('Unable to load document class'));
}
}
$instance = new $class($attributes);
$instances[$signature] = &$instance;
if (!is_null($ntype))
{
// Set the type to the Document type originally requested
$instance->setType($ntype);
}
}
return $instances[$signature];
}
<! removed transcluded page call, red link never existed >
Examples
Code Examples