为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。 创建模块 在 Node.js 中,创建一个模块非常简单,如下我们创建一个 main.js 文件,代码如下: var
EasySwoole提供了基础的数据校验。 $data = array( "a"=>1, "b"=>array( "age"=>2, "b2"=>null ), "c"=>array( "age"=>3, "b2"=>"asas" ), "URL"=>'http://www.baidu.
为了让开发者能更便捷的调用cURL,easySwoole对cURL进行了封装,先来个例子感受一下 use CoreUtilityCurlRequest; // 获取快递100接口数据 $param = ['type' => 'zhongtong', 'postid' => '457500981717']; $url = 'http://www.kuaidi100.com/query?' . htt
ShareMemory是为了解决多进程下进程数据隔离的问题。基于文件+锁的形式来实现。 方法列表 getInstance 用于获取一个ShareMemory实例。 use CoreComponentShareMemory; $share = ShareMemory::getInstance(); //或者是 $share = ShareMemory::getInstance(ShareMemory
Session 以下是一个封装好的Session操作类,可以简化对Session的操作,同时也展示了如何用框架本身的方法操作Session <?php class SessionFacade { /** * Set Session * @param $name * @param $value * @author : evalor <master@ev
Random 命名空间地址 EasySwoole\Core\Utility\Random 方法列表 字符串随机: int length static function randStr($length) 纯数字字符串随机: int length static function randNumStr($length)
File 命名空间地址 EasySwoole\Core\Utility\File 方法列表 创建目录: string dirPath 目录名 static function createDir($dirPath):bool 删除目录: string dirPath 目录名 static function deleteDir($dirPath):bool 清理目录: string dirPath 目
Curl 命名空间地址 EasySwoole\Core\Utility\Curl\Request 方法列表 初始化: string url 请求地址 function __construct(string $url = null) 设置请求地址: string url 请求地址 public function setUrl(string $url):Request 添加Cookie: EasySw
log string $str 日志内容 string $category 日志分类名 $log->log('message1'); $log2->log('message2'); console string $str 调试内容 int $saveLog 是否保存 $log->console("message",false); consoleWithTrace string $str 调试内容
EasySwoole为了让框架支持函数超时处理和swoole1.x与2.x,封装了一个Invoker。 实现代码 namespace EasySwoole\Core\Component; use EasySwoole\Core\Swoole\ServerManager; use \Swoole\Process; use \Swoole\Coroutine; class Invoker {
Dependency Injection 依赖注入 EasySwoole实现了简单版的IOC,使用 IOC 容器可以很方便的存储/获取资源,实现解耦。 使用依赖注入,最重要的一点好处就是有效的分离了对象和它所需要的外部资源,使得它们松散耦合,有利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。 在我们的日常开发中,创建对象的操作随处可见以至于对其十分熟悉的同时又感觉十分繁琐,每次需要对象
EasySwoole支持用户根据Crontab规则去添加定时器。时间最小粒度是1分钟。 实现原理 在主进程中,注册好各个任务规则和回调,服务启动后,在自定义进程内,通过定时器检测有没有待执行任务,若有则投递给异步进程异步执行。 解析规则通过https://github.com/dragonmantank/cron-expression实现。 示例代码 EasySwooleEvent.php中 us
EasySwoole 提供基础的对等模式分布式通讯支持。 知识储备 UDP 什幺是UDP协议 什幺是UDP协议请自行百度。 UDP广播地址 广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。例如,对于10.1
EasySwoole 提供开放式的RPC服务。RPC服务分为三级模式:服务=>服务组=>行为。每个服务可以单独现在Openssl加密。 支持超时、成功、失败回调(即最基础的熔断保护和服务降级) 示例代码 服务端 服务A namespace App\RpcController\A; use EasySwoole\Core\Component\Rpc\AbstractInterface\Abstrac
缓存 命名空间地址 EasySwoole\Core\Component\Cache\Cache 方法列表 获得键值: string key 缓存的键 float timeOut 调度等待时间,默认等待0.01秒 public function get($key,$timeOut = 0.01) 设置键值: string key 缓存的键 mixed data 缓存的数据 public functi