Laravel接入Apollo代码示例

本篇文章给大家带来的内容是关于laravel接入apollo代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

废话不说,直接上代码

 'http://10.208.204.46:8161',    'query' => [        'app_id' => 'wuc',        'cluster' => 'default',        'namespace' => 'application',    ]];

守护进程

代码小浣熊 代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 51 查看详情 代码小浣熊

namespace AppConsoleCommandsApollo;use GuzzleHttpClient;use IlluminateConsoleCommand;use IlluminateSupportArr;use IlluminateSupportFacadesStorage;class SyncCommand extends Command{    /**     * The name and signature of the console command.     *     * @var string     */    protected $signature = 'ue:apollo:sync';    /**     * The console command description.     *     * @var string     */    protected $description = '阿波罗同步';    protected $config = [];    protected $url;    /**     * Create a new command instance.     *     * @return void     */    public function __construct()    {        parent::__construct();        $this->url = config('apollo.server') . '/configs/' . implode('/', array_values(config('apollo.query')));    }    /**     * Execute the console command.     *     * @return mixed     */    public function handle()    {        $this->doSync();    }    protected function doSync()    {        $client = new Client(['timeout' => 2.00]);        try {            $response = $client->request('GET', $this->url);            $body = json_decode($response->getBody()->getContents(), true);            $cfg = Arr::get($body, 'configurations', []);            if (!$cfg) {                return true;            }            $cfg = array_map(function ($value) {                if ($row = json_decode($value, true)) {                    return $row;                }                return $value;            }, $cfg);            $items = [];            foreach ($cfg as $key => $value) {                data_set($items, $key, $value);            }            foreach ($items as $k => $item) {                $this->line('Saving ['.$k.']');                $this->save($k, $item);            }        } catch (Exception $ex) {            $this->error($ex->getMessage());        }    }    protected function save($fileName, $item)    {        if(config('apollo.sync.redis', false)){            cache()->tags('apollo')->forever($fileName, $item);            $this->line('Saving To Redis '.$fileName);        }        if(config('apollo.sync.file', false)){            $this->line('Saving To File '.$fileName);            $fileName = 'apollo/' . $fileName . '.php';            ksort($item);            $content = implode("rn", [                "put($fileName, $content);        }        $this->line('==================');    }}

以上就是Laravel接入Apollo代码示例的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/499365.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Linux Trigger怎么提高性能
上一篇 2025年11月8日 19:34:12
鹅鸭杀手游即将登陆!新一轮社交推理热潮即将掀起!
下一篇 2025年11月8日 19:34:18

相关推荐

发表回复

登录后才能评论
关注微信