API15

API15:JObject

From Joomla! Documentation

JObject is a generic object class. It provides:

  • Joomla 1.5 a mechanism that allows __construct() in PHP4;
  • operations for creating and accessing arbitrary object variables;
  • an array for storing errors (ordinary strings or JException objects) and operations for working with them.

Defined in

libraries/joomla/base/object.php

Methods

Method name Description
JObject A hack to support __construct() on PHP 4
__construct Class constructor, overridden in descendant classes.
get Returns a property of the object or the default value if the property is not set.
getProperties Returns an associative array of object properties
getError Get the most recent error message
getErrors Return all errors, if any
set Modifies a property of the object, creating it if it does not already exist.
setProperties Set the object properties based on a named array/hash
setError Add an error message
toString Object-to-string conversion. Each class can override it as necessary.
getPublicProperties Legacy Method, use JObject::getProperties() instead

Importing

jimport( 'joomla.base.object' );



Examples

Code Examples

Example

$bunny = new JObject;
$bunny->set('animalType', 'hare');
$bunny->set('color', 'white');
$bunny->set('ears', 2);

$wolfy = new JObject;
$wolfy->setProperties(
                     array(
                           'animalType'=>'wolf',
                           'color'=>'grey',
                           'teeth'=>42,
                           'stomach'=>null
                           )
                     );


$wolfy->stomach = $bunny;

print_r($wolfy);

would output

JObject Object
(
    [_errors] => Array
        (
        )

    [animalType] => wolf
    [color] => grey
    [teeth] => 42
    [stomach] => JObject Object
        (
            [_errors] => Array
                (
                )

            [animalType] => hare
            [color] => white
            [ears] => 2
        )

)

This example was originally provided by Artyom.


Chris Davenport 04:43, 17 April 2011 (CDT) Edit comment