easyswoole

Grafana自定义alert的实现过程

不问归期 提交于 2021-02-08 12:27:00
前言 grafana自带的alert功能是有限的,比如只能对某个query 配置alert,而不能对具体分类,当然我们也可以通过代码来实现定制化的alert 因要定时监控grafana的数据变化情况,所以本篇文章使用 easyswoole的定时器 来做讲解。 生成key key为调用grafana http api 所需的验证信息 分析要请求的api和传递的参数 当然你可以去grafana官方文档去翻一番http api 章节 Install easyswoole的http-client组件 easyswoole\http-client composer require easyswoole\http - client easyswoole 定时器 定时器 代码实现 <?php namespace EasySwoole \ EasySwoole ; use EasySwoole \ Component \ Timer ; use EasySwoole \ EasySwoole \ Swoole \ EventRegister ; use EasySwoole \ EasySwoole \ AbstractInterface \ Event ; use EasySwoole \ HttpClient \ HttpClient ; class EasySwooleEvent

PHP 控制反转(IOC)与依赖注入(DI)

和自甴很熟 提交于 2020-08-18 14:42:29
概念 IOC与DI 据我了解其实早期是JAVA的理念,长期并不被PHP业界接受,因为PHP的理念是简单高效,但是长期的发展使得PHP必须为了工程规范和开发解耦必须走上这条路。Laraval框架为PHP的发展带来了的理念,逐步的各大框架都开始走上了标准化的开发步伐。这其中包含了ThinkPHP、EasySwoole、Swoft等等。 控制反转 传统的开发模式如果我们想要的到一个对象,我们必须去使用new。 这种方式的类控制权限在人的手中,是程序需要的时候认为主动创建依赖的对象( 见下图1-1 )。 // 图 1-1 // 通常的依赖注入模式 class Course { protected $user; public function __construct(User $user) { $this->user = $user; } } 依赖注入 前者说控制反转中,系统会将所有的请求单例Bean或者 全局单例Bean 保存在专用的IoC 容器当中,根据代码的需要 选择性的注入对应的需求类,注入的类 由IoC 容器管理, 降低程序的耦合,使得开发人员只需要关注对应的业务逻辑。 两者之间的关联 可以说两者是相辅相成的,依赖注入依靠IOC 控制反转,是IOC的最终目的,而 IOC 对于 依赖注入 是其实现的前提。 这里我们举个栗子 , 其实 PHP的composer

EasySwoole的入门学习

我怕爱的太早我们不能终老 提交于 2020-05-05 21:34:12
EasySwoole的入门学习 官网地址: https://www.easyswoole.com/ 一、安装easyswoole: (1)建立安装目录: cd / data mkdir easyswoole cd easyswoole (2)使用composer下载easyswoole: composer require easyswoole/easyswoole= 3 .x (3)安装: php vender/easyswoole/easyswoole/bin/easyswoole install (4)启动: php easyswoole start (5)查看启动情况: netstat -tunlp | grep 9501 可以看到结果: tcp 0 0 0.0 . 0.0 : 9501 0.0 . 0.0 :* LISTEN 4015 /EasySwoole 通过浏览器访问: http://127.0.0.1:9501可以访问到。 框架安装完毕。 二、编写业务代码: (1)框架根目录下的dev.php是开发环境下的项目配置文件,可以配置redis、mysql等信息。 (2)手动建立应用目录,如下: |─App 应用目录 | └─HttpController 应用的控制器目录 |    └─Index.php 默认控制器文件 | └─Model 模型文件目录 <? php

EasySwoole 在mac上装虚拟机centos共享mac目录报错处理

隐身守侯 提交于 2020-05-05 21:33:33
[2019-09-26 21:37:09][DEBUG][ERROR] : [listen /media/psf/Home/wwwroot/myobj/easyswoole/Temp/TaskWorker.fcce5581d6be0f3a066f7bc0ea2582270.sock fail at class EasySwoole\Task\Worker at file:/media/psf/Home/wwwroot/myobj/easyswoole/vendor/easyswoole/component/src/Process/Socket/AbstractUnixProcess.php line:32] [2019-09-26 21:37:09][DEBUG][ERROR] : [listen /media/psf/Home/wwwroot/myobj/easyswoole/Temp/TaskWorker.fcce5581d6be0f3a066f7bc0ea2582271.sock fail at class EasySwoole\Task\Worker at file:/media/psf/Home/wwwroot/myobj/easyswoole/vendor/easyswoole/component/src/Process/Socket

EasySwoole 使用*.ini格式的配置文件

别说谁变了你拦得住时间么 提交于 2020-05-05 20:37:28
EasySwoole 使用*.ini格式的配置文件 简介 本文章带领大家学习如何在EasySwoole使用ini格式的配置文件。 ini的优缺点 优点:线性的、简单、简练、方便 缺点:复杂类型的数据配置无力 目录结构 . ├── App │ ├── HttpController │ │ └── Productor.php │ ├── Process │ │ └── Consumer.php │ └── Resource │ └── RedisPool.php ├── Config │ └── Ini │ ├── database.ini │ └── redis.ini ├── EasySwooleEvent.php ├── Ini │ └── src │ └── Ini.php xxx Ini包源码 非常简单 <?php /** * @CreateTime: 2020/5/3 下午6:30 * @Author: huizhang <tuzisir@163.com> * @Copyright: copyright(2020) Easyswoole all rights reserved * @Description: 解析ini配置文件 */ namespace EasySwoole\Ini; use EasySwoole\Component\Singleton; use