시간이 많이 걸리는 함수나 클래스 메서드를 여러 번 호출할 때 처음으로 작업을 수행하고 나중에 함수를 다시 호출하면 결과가 직접 반환된다는 것을 어떻게 알 수 있을까요?
<?php class MyDate { public static function getCurrentDate() { static $current_date = ''; if (!$current_date) { echo 'only run one time'; usleep(200000); $current_date = date('Y-m-d H:i:s'); } return $current_date; } public static function getCurrentDate2() { usleep(200000); echo 'run everytime'; return date('Y-m-d H:i:s'); } } $start = microtime(true); $i = 5; while ($i--) { MyDate::getCurrentDate(); } echo microtime(true) - $start; //200ms $start = microtime(true); $i = 5; while ($i--) { MyDate::getCurrentDate2(); } echo microtime(true) - $start; //1s