UI 部件 & 组件工具 桌面 & 移动: Kendo UI [free to $] Webix [$] Semantic UI Metro UI Bootstrap Materialize Material UI Polymer Paper Elements 桌面 (NW.js 和 Electron): photonkit React UI Components for OS X El Capi
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
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
自定义组件 开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。自定义组件在使用时与基础组件非常相似。 创建自定义组件 一个自定义组件由 json jxml jxss js 4个文件组成。要编写一个自定义组件,首先需要在 json 文件中进行自定义组件声明(将 component 字段设为 true 可这一组文件设为自
舵机需配合双舵机驱动使用,可在0~180°内来回转动。通过编程,舵机能转动至指定角度,完成特定动作。 净重量:24.5 参数 极限角度:180°±10° 齿轮虚位:≤1° 停转转矩(锁定状态):1.5±0.05kg·cm 待机电流(停止状态):6±1mA 工作电压:4.8V~6.0V 工作温度:-10℃-50℃ 存储温度:-20℃~60℃ 特点 丰富配件,兼容乐高和 Makeblock 金属零件平
1. 前言 本节我们将介绍如何使用组件(Component),组件是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树: 如何规划和设计组件是学习组件的难点,在编写组件时,我们需要不断思考如何提高组件的可复用性。 2. 慕课解释 组件是可复用的 Vue 实例,且带有一
一个文件包含的各个部分应该用若干个空行分隔。虽然对源文件没有最大长度限制,但超过1000行的文件处理起来非常不方便。编辑器很可能没有足够的临时空间来编辑这个文件,编译过程也会因此变得十分缓慢。与回滚到前面所花费的时间相比,那些仅仅呈现了极少量信息的多行星号是不值得的,我们不鼓励使用。超过79列的行无法被所有的终端都很好地处理,应该尽可能的避免使用。过长的行会导致过深的缩进,这常常是一种代码组织不善
时间线组件通常用于显示事件历史记录。你可以使用它来描述在特定时间段内发生的事。 默认 <!-- 该组件的主节点 --> <div class="timeline"> <!-- 时间线时间标签 --> <div class="time-label"> <span class="bg-green">2019年8月23日</span> </div> <div>