Giter Club home page Giter Club logo

acm-sdk-php's Introduction

User Guide

Introduction

PHP SDK for ACM.

Features

  1. Get/Publish/Remove config from ACM server use REST API.
  2. Local config cache supported.
  3. Server failure failover.
  4. TLS supported.
  5. Address server supported.
  6. Both Alibaba Cloud ACM and Stand-alone deployment supported.

Supported PHP:

  1. PHP 7.2 +

Supported ACM version

  1. ACM 1.0

Change Logs

  • get server list from ACM
    • refresh manually(Client->refreshServerList)
  • get config data from ACM
    • no lisener, update manually(Client->getData)

Installation

  • add the php libary to your project

Getting Started

  • please check the sample.php

Configuration

TODO

Extra Options

TODO

API Reference

Get Config

Get value of one config item following priority:

  • Step 1 - Get from local cache with timestamp, if the cache value was expired, get from following sources and update local cache.
  • Step 2 - Get from local failover dir(default: ${cwd}/acm/data).
    • Failover dir can be manually copied from snapshot dir(default: ${cwd}/acm/snapshot) in advance.
    • This helps to suppress the effect of known server failure.
  • Step 3 - Get from one server until value is got or all servers tried.
    • Content will be save to snapshot dir after got from server.
  • Step 4 - Get from snapshot dir.

List All Config

Get all config items of current namespace, with dataId and group information only.

  • Access local cache first, if local data was expired, request the data from server and update local cache correspondingly
  • Warning: If there are lots of config in namespace, this function may cost some time.

Publish Config

Publish one data item to ACM.

  • If the data key is not exist, create one first.
  • If the data key is exist, update to the content specified.
  • Content can not be set to None, if there is need to delete config item, use function remove instead.

Remove Config

Remove one data item from ACM.

Other Resources

acm-sdk-php's People

Contributors

fnck avatar xiangzidetiandi avatar yangyshdan avatar yanlinly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

acm-sdk-php's Issues

服务返回多个ip导致请求的地址错误

服务返回多个ip是会导致拼接出来的地址中包含多个ip报 Resource id #9; cURL error: Illegal characters found in URL (3Array ( [url] => http://100.100.30.17 100.100.103.3:8080/diamond-server/config.co?

修复方案如下
文件名:Client.php
public function refreshServerList(){
$this->serverList = array();
$serverRawList = $this->getServerListStr();
if(is_string($serverRawList)){
$serverArray = explode("\n", $serverRawList);
$serverArray = array_filter($serverArray);

\n由单引号修改成双引号 并增加 array_filter($serverArray);

sdk 太简陋了

没命名空间 , 没composer , php 已经非常现代化规范化了 , 期望官方能重视下

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.