Do PHP objects use getters and setters internally?
July 26th, 2011
Warning: This post is 13 years old. Some of this information may be out of date.
I just came across something that made me wonder wether a PHP object uses the magic __get() and __set() methods inside the object itself. I wrote the following code to test:
<?php
class Test {
public function __construct()
{
$this->name = 'Andrew';
}
public function __get($name) {
echo '__get: ' . $name . "\n";
}
public function __set($name, $value) {
echo '__set: ' . $name . ', ' . $value . "\n";
}
}
$name = new Test();
$name->name = 'Amy';
echo $name->name;
Here's the output:
andrew@adele:~$ php check_getters.php
__set: name, Andrew
__set: name, Amy
__get: name
Answer: Yes they do!
← Next
Debugging your vimrcPrevious →
10 Skills A Web Developer Needs To Have