Would anyone happen to know if it's possible to set a namespace on a user-defined stdClass object.
What I would like to do is to return all the private properties of a class as an object in the form of a getter method.
I found one possible solution where I could do something like this;
public function getDataItems() {
$dataObj = new stdClass;
$dataObj->image_id = $this->image_id;
$dataObj->image_name = $this->image_name;
$dataObj->name = $this->name;
$dataObj->email = $this->email;
$dataObj->company = $this->company;
return $dataObj;
}
The only problem I have though is that the class that this function lives in is using a namespace and therefore I need to somehow assign the same namespace to this $dataObj object.
Does anyone know how I can do this or if it's even possible?
maybe you want to do this the other way round and make the namespace of the stdClass-Object explicit? This could be done by either
use \stdClass
or
$dataObj = new \stdClass();
btw. - no, it is not possible to change the namespace of a class once it was defined.
You might want to check up on the ReflectionProperty
built-in class if you need to access values form a private field of another class (see http://php.net/manual/en/reflectionproperty.getvalue.php).
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