references:joomla.framework:base:jobject-setpropertiesTable of Contents
setProperties
This method allows bulk assignment of an object’s properties. Syntaxbool setProperties ($properties)
$properties it always cast to an array. See Type casting in the PHP manual. See also: * JObject::set * JObject::get * JObject::getProperties ExamplesExample 1 $person = new JObject(); // declare some values $props = array( 'name' =>'Anonymous', '_secret' => '4711' ); // bulk assignment $person->setProperties( $props ); echo 'Hello, ', $person->name; will produce: Result 1 Hello, Anonymous Example 2 $details = new JObject(); // set some properties $details->set( 'name', 'Jane Doe' ); $details->set( 'gender', 'f' ); // assign to $person object from Example 1 $person->setProperties( $details ); switch ($person->gender) { case 'f': $greeting = 'Hello, Mrs.'; break; case 'm': $greeting = 'Hello, Mr.'; break; default: $greeting = 'Hello,'; break; } echo $greeting, ' ', $person->name; will produce: Result 2 echo Hello, Mrs. Jane Doe'; Caveats
You can’t use this method to unset() (remove) an existing property, but only assign it a Example 3 $override = array( 'gender' => null ); $person->setProperties( $override ); print_r( $person ); echo PHP_EOL, 'type: ', gettype( $person->gender ); echo PHP_EOL, 'gender: ', isset( $person->gender ) ? $person->gender : 'neuter'; unset( $person->gender ); unset( $person->_secret ); print_r( $person ); will produce: Result 2 JObject Object
(
[_errors] => Array
(
)
[name] => Jane Doe
[_secret] => 4711
[gender] =>
)
type: NULL
gender: neuter
JObject Object
(
[_errors] => Array
(
)
[name] => Jane Doe
)
CaveatsDiscussion |


