How do you access a PHP object's properties?
Also, what is the difference between accessing an object's property with $this->$property1
vs. $this->property1
?
When I try to use $this->$property1
I get the following error:
'PHP: Cannot access empty property'.
PHP's documentation on object properties has one comment which mentions this, but the comment doesn't really explain in depth.
The most practical approach is simply to cast the object you are interested in back into an array, which will allow you to access the properties: $a = array('123' => '123', '123foo' => '123foo'); $o = (object)$a; $a = (array)$o; echo $o->{'123'}; // error!
In PHP, Object is a compound data type (along with arrays). Values of more than one types can be stored together in a single variable. Object is an instance of either a built-in or user defined class. In addition to properties, class defines functionality associated with data.
Once you have an object, you can use the -> notation to access methods and properties of the object: $object -> propertyname $object -> methodname ([ arg, ... ] ) Methods are functions, so they can take arguments and return a value: $clan = $rasmus->family('extended');
$property1
// specific variable$this->property1
// specific attribute The general use on classes is without "$"
otherwise you are calling a variable called $property1
that could take any value.
Example:
class X { public $property1 = 'Value 1'; public $property2 = 'Value 2'; } $property1 = 'property2'; //Name of attribute 2 $x_object = new X(); echo $x_object->property1; //Return 'Value 1' echo $x_object->$property1; //Return 'Value 2'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With