log_read_flag == false) { $file_path = app_path('/Libs/Push/HuaWei/config.ini'); if (file_exists($file_path)) { $file_contents = file($file_path); // read line for ($i = 0; $i < count($file_contents); $i++) { $this->processConfigData($file_contents[$i]); } $this->log_read_flag = true; } else { echo $file_path . " not exist,please config first!!!
"; } } } public static function getSingleInstance() { static $obj; if (!isset($obj)) { $obj = new PushConfig(); } return $obj; } private function processConfigData($lineData) { if (empty($lineData)) { return; } if (strncmp($lineData, "#", 1) == 0) { return; } $lineData = str_replace("\"", "", $lineData); $lineData = str_replace("\'", "", $lineData); $lineData = str_replace(" ", "", $lineData); $lineData = str_replace(";", "", $lineData); $lineData = str_replace(PHP_EOL, '', $lineData); $resultPos = stripos($lineData, "="); if (FALSE == $resultPos) { return; } $key = substr($lineData, 0, $resultPos); if (FALSE == $key) { return; } $value = $this->processConfigValueData(substr($lineData, $resultPos + 1)); switch ($key) { case "HW_APPID": { $this->HW_APPID = $value; } break; case "HW_APPSECRET": { $this->HW_APPSECRET = $value; } break; case "HW_TOKEN_SERVER": { $this->HW_TOKEN_SERVER = $value; } break; case "HW_PUSH_SERVER": { $this->HW_PUSH_SERVER = $value; } break; case "HW_TOPIC_SUBSCRIBE_SERVER": { $this->HW_TOPIC_SUBSCRIBE_SERVER = $value; } break; case "HW_TOPIC_UNSUBSCRIBE_SERVER": { $this->HW_TOPIC_UNSUBSCRIBE_SERVER = $value; } break; case "HW_TOPIC_QUERY_SUBSCRIBER_SERVER": { $this->HW_TOPIC_QUERY_SUBSCRIBER_SERVER = $value; } break; case "HW_PUSH_TOKEN_ARR": { $this->HW_PUSH_TOKEN_ARR = $value; } break; case "APN_PUSH_TOKEN_ARR": { $this->APN_PUSH_TOKEN_ARR = $value; } break; case "WEBPUSH_PUSH_TOKEN_ARR": { $this->WEBPUSH_PUSH_TOKEN_ARR = $value; } break; case "HW_DEFAULT_LOG_LEVEL": { $this->HW_DEFAULT_LOG_LEVEL = $value; } break; case "HW_FAST_APPID": { $this->HW_FAST_APPID = $value; } break; case "HW_FAST_APPSECRET": { $this->HW_FAST_APPSECRET = $value; } break; case "HW_FAST_PUSH_TOKEN": { $this->HW_FAST_PUSH_TOKEN = $value; } break; } } private function processConfigValueData($lineDataMapValue) { $key = stripos($lineDataMapValue, "\""); if (FALSE == $key) { return trim($lineDataMapValue); } if ($key > 0) { return str_replace("\"", "", substr($lineDataMapValue, $key)); } return trim($lineDataMapValue); } }