UtilTools.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace ACES\Utils;
  3. class UtilTools
  4. {
  5. const MAX_LINES = 3;
  6. public static function extractStackTrace($e){
  7. $res = "Caused by: ".get_class($e)." ".$e->getMessage();
  8. $traces = $e->getTrace();
  9. $line = 0;
  10. foreach ($traces as $trace){
  11. if(isset($trace['class']) && isset($trace['function']) && isset($trace['line'])){
  12. $res = $res . " @" . $trace['class'] . "->" . $trace['function'] . "()(" . $trace['line'] . ")";
  13. if ($line > self::MAX_LINES)
  14. break;
  15. $line++;
  16. }else{
  17. break;
  18. }
  19. }
  20. return $res;
  21. }
  22. public static function getRandomString($size=40){
  23. $abc = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=+-*/_|<>^~@?%&";
  24. $res = "";
  25. for($i = 0;$i<$size;$i++){
  26. $r = rand(0,39);
  27. $res = $res.$abc[$r];
  28. }
  29. return $res;
  30. }
  31. public static function getCurrentMilis()
  32. {
  33. $mill_time = microtime();
  34. $timeInfo = explode(' ', $mill_time);
  35. $milis_time = sprintf('%d%03d', $timeInfo[1], $timeInfo[0] * 1000);
  36. return $milis_time;
  37. }
  38. }