本篇文章给大家带来的内容是关于laravel接入apollo代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
废话不说,直接上代码
'http://10.208.204.46:8161',
'query' => [
'app_id' => 'wuc',
'cluster' => 'default',
'namespace' => 'application',
]
];守护进程
超级适合代理建设企业站点的企业源码,超方面实用!程序说明: 1.特色:简繁中文切换、产品展示系统、新闻发布系统、会员管理系统、留言本计数器、网站信息统计、强大后台操作 功能等; 2.页面包括:首页、企业介绍、滚动公告通知发布系统、企业新闻系统、产品展示系统、企业案例发布展示系 统、企业招聘信息发布系统、信息资源下载系统、在线定单系统、在线客服系统、在线留言本系统、网站调查投票系统、友情连接系统、会
namespace App\Console\Commands\Apollo;
use GuzzleHttp\Client;
use Illuminate\Console\Command;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Storage;
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("\r\n", [
"put($fileName, $content);
}
$this->line('==================');
}
}









