Last active
December 14, 2015 09:39
-
-
Save pgampe/5066866 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Test class | |
*/ | |
class Foo { | |
public $bar = 'test'; | |
private $baz = '123'; | |
/** | |
* @param string $test | |
*/ | |
public function testPublic($test) { | |
$this->baz = $test; | |
} | |
/** | |
* @param string $test | |
*/ | |
protected function testProtected($test) { | |
$this->bar = $test; | |
} | |
/** | |
* @param string $name | |
* @param array $arguments | |
*/ | |
public function __call($name, array $arguments) { | |
if (method_exists(__CLASS__, $name)) { | |
$this->$name($arguments[0]); | |
} | |
} | |
} | |
$foo = new Foo(); | |
$foo->testPublic('other'); | |
$foo->testProtected('Calling a protected function works.'); | |
echo($foo->bar . chr(10)); | |
$i = 0; | |
$start = microtime(TRUE); | |
for ($i = 0; $i < 1000; $i++) { | |
$foo->testPublic('test'); | |
} | |
$middle = microtime(TRUE); | |
for ($i = 0; $i < 1000; $i++) { | |
$foo->testProtected('test'); | |
} | |
$end = microtime(TRUE); | |
echo ('Public: ' . ($middle - $start) . 'ms' . chr(10)); | |
echo ('Protected: ' . ($end - $middle) . 'ms' . chr(10)); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment