JDocument/getInstance
From Joomla! Documentation
< API16:JDocumentRevision as of 22:05, 12 May 2013 by JoomlaWikiBot (talk | contribs) (removing red link to edit, no existant pages)
Revision as of 22:05, 12 May 2013 by JoomlaWikiBot (talk | contribs) (removing red link to edit, no existant pages)
The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Description[edit]
Returns the global JDocument object, only creating it if it doesn't already exist.
[<! removed edit link to red link >]
<! removed transcluded page call, red link never existed >
Syntax[edit]
static getInstance($type= 'html', $attributes=array())
Parameter Name | Default Value | Description |
---|---|---|
$type | 'html' | $type The document type to instantiate |
$attributes | array() |
Returns[edit]
object The document object.
Defined in[edit]
libraries/joomla/document/document.php
Importing[edit]
jimport( 'joomla.document.document' );
Source Body[edit]
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 edit link to red link >] <! removed transcluded page call, red link never existed >
Examples[edit]
<CodeExamplesForm />