LZRefillFactory.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace refill;
  3. require_once(BASE_HELPER_PATH . '/refill/RefillBase.php');
  4. require_once(BASE_HELPER_PATH . '/refill/ProviderManager.php');
  5. require_once(BASE_HELPER_PATH . '/refill/policy/IPolicy.php');
  6. require_once(BASE_HELPER_PATH . '/refill/policy/lingzh/policy.php');
  7. require_once(BASE_HELPER_PATH . '/refill/policy/chctl.php');
  8. require_once(BASE_HELPER_PATH . '/refill/policy/ctl_item.php');
  9. require_once(BASE_HELPER_PATH . '/refill/policy/mchctl.php');
  10. use Log;
  11. use StatesHelper;
  12. class LZRefillFactory extends RefillBase
  13. {
  14. private static $stInstance = null;
  15. public static function instance()
  16. {
  17. if (self::$stInstance == null) {
  18. self::$stInstance = new LZRefillFactory();
  19. }
  20. if(defined('SUPPORT_PTHREAD') && SUPPORT_PTHREAD === true)
  21. {
  22. Log::record("SUPPORT_PTHREAD defined call load",Log::DEBUG);
  23. if(StatesHelper::fetch_state('channel')) {
  24. Log::record("RefillFactory reload channel config.",Log::DEBUG);
  25. self::$stInstance->load();
  26. }
  27. }
  28. return self::$stInstance;
  29. }
  30. private function __construct()
  31. {
  32. parent::__construct();
  33. $this->mPolicy = new policy();
  34. if (defined('SUPPORT_PTHREAD') && SUPPORT_PTHREAD === true) {
  35. Log::record("SUPPORT_PTHREAD defined dont call load",Log::DEBUG);
  36. } else {
  37. Log::record("SUPPORT_PTHREAD has not defined and call load",Log::DEBUG);
  38. $this->load();
  39. }
  40. }
  41. }