-
Notifications
You must be signed in to change notification settings - Fork 5
/
ObjectMethodCallbackExample.php
43 lines (27 loc) · 1.11 KB
/
ObjectMethodCallbackExample.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
include('AppTimer.Class.php'); // Include AppTimer class file
// Example Class Object
class ExampleClassObject {
// Method without args
function HelloWorld() {
echo 'Hello World' . PHP_EOL;
}
// Method with args
function Add($a, $b) {
if(is_numeric($a) && is_numeric($b)){
echo "Add($a, $b) = " . ($a + $b) . PHP_EOL;
}
}
}
$Timer = new AppTimer(); // New Timer Object
$Example = new ExampleClassObject(); // Create instance of your object
// Time an object method without args
$HelloWorld_method_run_time = $Timer->CallbackTimer(array($Example, 'HelloWorld'));
// Time an object method with args
$Add_method_run_time = $Timer->CallbackTimer(array($Example, 'Add'), array(9, 1));
// Destroy $Timer Object
$Timer = NULL; // Reclaim memory immediately by overwriting NULL on Timer object's memory space
unset($Timer); // Let Garbage Collection know it can eat the variable
// Echo Results
echo "\$Example->HelloWord() Run Time: $HelloWorld_method_run_time" . PHP_EOL;
echo "\$Example->Add(9, 1) Run Time: $Add_method_run_time" . PHP_EOL;