Source code for file /libraries/joomla/base/object.php
Documentation is available at object.php
* @package Joomla.Platform
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
* This class allows for simple but smart objects with get and set methods
* and an internal error handler.
* @package Joomla.Platform
* An array of error messages or JExceptions objects.
* Class constructor, overridden in descendant classes.
* @param mixed $properties Either and associative array or another
* object to set the initial properties of the object.
if ($properties !==
null)
* Magic method to convert the object to a string gracefully.
* @return string The classname.
* Sets a default value if not alreay assigned
* @param string $property The name of the property.
* @param mixed $default The default value.
public function def($property, $default =
null)
$value =
$this->get($property, $default);
return $this->set($property, $value);
* Returns a property of the object or the default value if the property is not set.
* @param string $property The name of the property.
* @param mixed $default The default value.
* @return mixed The value of the property.
public function get($property, $default =
null)
if (isset
($this->$property))
* Returns an associative array of object properties.
* @param boolean $public If true, returns only the public properties.
foreach ($vars as $key =>
$value)
if ('_' ==
substr($key, 0, 1))
* Get the most recent error message.
* @param integer $i Option error index.
* @param boolean $toString Indicates if JError objects should return their error message.
* @return string Error message
public function getError($i =
null, $toString =
true)
// Default, return the last message
// If $i has been specified but does not exist, return false
// Check if only the string is requested
if ($error instanceof
Exception &&
$toString)
* Return all errors, if any.
* @return array Array of error messages or JErrors.
* Modifies a property of the object, creating it if it does not already exist.
* @param string $property The name of the property.
* @param mixed $value The value of the property to set.
* @return mixed Previous value of the property.
public function set($property, $value =
null)
$previous = isset
($this->$property) ?
$this->$property :
null;
$this->$property =
$value;
* Set the object properties based on a named array/hash.
* @param mixed $properties Either an associative array or another object.
foreach ((array)
$properties as $k =>
$v)
// Use the set function which might be overridden.
* @param string $error Error message.
* Converts the object to a string (the class name).
* @deprecated 12.1 Use magic method __toString()
// @codeCoverageIgnoreStart
JLog::add('JObject::toString() is deprecated.', JLog::WARNING, 'deprecated');
// @codeCoverageIgnoreEnd