my question is, say we have a class:
class SomeClass{
private $someProperty;
public function __call($name,$arguments){
echo "Hello World";
}
Now when I say:
$object = new SomeClass();
$object->someMethod();
the __call method in my class will be called.
When I say
$object->getSomeProperty();
will __call again be called? If so, what is __get and __set magic methods are for?
When I say
$object->someProperty;
then will __get($someProperty) be called? or will it be __set($someProperty) ?
Anytime an inaccessible method is invoked __call
will be called.
Anytime you try to read a property __get
will be called, whether it's echo $obj->prop;
or $var = $obj->prop;
And lastly, anytime you try to write to a property the __set
magic method will be called.
will __call again be called?
Yes.
If so, what is __get and __set magic methods are for?
see below:
When I say
$object->someProperty;
then will __get($someProperty) be called? or will it be __set($someProperty) ?
__get('someProperty')
because this expression is not an assignment.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.