Package.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace PhpLife\Frame;
  3. /**
  4. * 数据层父类
  5. * Class Package
  6. * @package PhpLife\Frame
  7. */
  8. class Package
  9. {
  10. const PREFIX = '';
  11. /**
  12. * 创建单例模式
  13. * @return Package
  14. */
  15. public static function getInstance()
  16. {
  17. static $pool;
  18. $class = get_called_class();
  19. if (!isset($pool[$class])) {
  20. $pool[$class] = new $class();
  21. }
  22. return $pool[$class];
  23. }
  24. /**
  25. * 获取带前缀的key
  26. * @param $id
  27. * @return string
  28. */
  29. protected static function getKey($id = 0)
  30. {
  31. $class = get_called_class();
  32. if (!$class::PREFIX) {
  33. $prefix = substr(md5($class), 0, 16);
  34. } else {
  35. $prefix = $class::PREFIX;
  36. }
  37. $prefix = strtolower($prefix);
  38. $key = trim($prefix, ':') . ':' . $id;
  39. return $key;
  40. }
  41. /**
  42. * 获取发号器ID
  43. * @return mixed
  44. * @throws \Exception
  45. */
  46. protected static function getTicket()
  47. {
  48. return \PhpLife\Frame\Library\Ticket::getTicket();
  49. }
  50. }