1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- class DummyOverloadableClass
- {
- protected $checkMe = 1;
- protected $properties = array('checkMeToo' => 1);
- function __construct($checkMe = 1)
- {
- $this->checkMe = "constructed: ".$checkMe;
- }
- public function helloWorld() {
- return "hello";
- }
- public function goodByeWorld() {
- return "good bye";
- }
- protected function notYourBusinessWorld()
- {
- return "goAway";
- }
- public function getCheckMe() {
- return $this->checkMe;
- }
- public function getCheckMeToo() {
- return $this->checkMeToo;
- }
- public function call() {
- $this->targetMethod();
- return true;
- }
- public function targetMethod() {
- return true;
- }
- public function exceptionalMethod() {
- throw new Exception('Catch it!');
- }
- public function __get($name) {
- //seeing as we're not implementing __set here, add check for __mocked
- $return = null;
- if ($name === '__mocked') {
- $return = isset($this->__mocked) ? $this->__mocked : null;
- } else {
- if ($this->__isset($name)) {
- $return = $this->properties[$name];
- }
- }
- return $return;
- }
- public function __isset($name) {
- return $this->isMagical($name) && isset($this->properties[$name]);
- }
- private function isMagical($name) {
- $reflectionClass = new \ReflectionClass($this);
- return !$reflectionClass->hasProperty($name);
- }
- }
|