mix

授权协议 Apache-2.0 License
开发语言 JavaScript
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 凌钊
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

OpenMix 出品:https://openmix.org



MixPHP

Mix PHP

中文 | English

MixPHP 是一个 PHP 命令行模式开发框架;基于 Vega 驱动的 HTTP 可以同时支持 Swoole、WorkerMan、FPM、CLI-Server 生态,并且可以无缝切换;V3 是一个高度解耦的版本,整体代码基于多个独立的模块构建,即便用户不使用我们的脚手架,也可以使用这些独立模块,并且全部模块都支持原生开发。例如:你可以只使用 mix/vega 来搭配 laravel orm 使用;可以在任意环境中使用 mix/database 和 mix/redis;可以使用 mix/grpc 原生代码编写 gRPC;所有的模块你可以像搭积木一样随意组合。

独立模块

核心模块全部可独立使用,并且都支持原生代码开发。

  • mix/vega PHP 编写的 CLI 模式 HTTP 网络框架,支持 Swoole、WorkerMan、FPM、CLI-Server
  • mix/database 可在各种环境中使用的轻量数据库,支持 FPM、CLI、Swoole、WorkerMan,可选的连接池 (协程)
  • mix/redis 可在各种环境中使用的 PHP Redis,支持 FPM、CLI、Swoole、WorkerMan,可选的连接池 (协程)
  • mix/redis-subscriber 基于 Swoole 协程的 Redis 原生协议订阅库
  • mix/grpc 基于 Swoole 协程的 PHP gRPC 库,包含 protoc 代码生成器、服务器、客户端
  • mix/websocket 基于 Swoole 协程的 PHP WebSocket 服务器与客户端
  • mix/cli PHP 命令行交互指挥官
  • mix/worker-pool 基于 Swoole 的协程池、工作池库
  • mix/validator 基于 PSR-7 的验证库
  • mix/event 基于 PSR-14 标准的事件调度库
  • mix/init 帮助执行类的静态初始化,通常用于预加载单例

服务器

支持多种服务器驱动,并且可以无缝切换。

开发文档

快速开始

提供了现成的脚手架,快速创建项目,立即产出。

composer create-project --prefer-dist mix/cli-skeleton cli
composer create-project --prefer-dist mix/api-skeleton api
composer create-project --prefer-dist mix/web-skeleton web
composer create-project --prefer-dist mix/websocket-skeleton websocket
composer create-project --prefer-dist mix/grpc-skeleton grpc

性能测试

推荐阅读

技术交流

知乎:https://www.zhihu.com/people/onanying
官方QQ群:284806582, 825122875 敲门暗号:phper

Golang 框架

OpenMix 同时还有 Golang 生态的框架

License

Apache License Version 2.0, http://www.apache.org/licenses/

  • ACW 35. 反转链表 题目链接 题面 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点 解析 链表操作题,可以使用迭代实现或者递归实现 AC代码:迭代 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * Li

 相关资料
  • 问题内容: 我得到了以下XML结构: 注意,节点已经 (由文本和XML组成) ,这是关于节点的部分 : 此时一切正常,输出有关以下内容的此类: 然后,通过上面的内容,我可以解决以下元素: 但问题是,我不能找到一种方法,或者将文本从上面的例子。 这是我尝试过的,但是不起作用: 使用的属性如下: (我认为XJC忽略了最后一个属性) 但是我不确定这是否是解决问题的方法。答案之一表示这是一个错误,而另一答

  • 本文向大家介绍使用ES6的class定义的组件不支持mixins了,那用什么可以替代呢?相关面试题,主要包含被问及使用ES6的class定义的组件不支持mixins了,那用什么可以替代呢?时的应答技巧和注意事项,需要的朋友参考一下 HOC 高阶组件是一个以组件为参数并返回一个新组件的函数。HOC 运行你重用代码、逻辑和引导抽象。最常见的可能是 Redux 的 connect 函数。除了简单分享工具

  • 本文向大家介绍react的mixins有什么作用?适用于什么场景?相关面试题,主要包含被问及react的mixins有什么作用?适用于什么场景?时的应答技巧和注意事项,需要的朋友参考一下 1.mixin的作用是抽离公共功能,不存在渲染dom的需要,所以它没有render方法。如果你定义了render方法,那么他会和组件的render方法冲突而报错。 2.mixin不应该污染state,所以他也没有

  • 问题内容: 在“ Python编程 ”中,提到了。我来自背景,以前没有听说过这个词。什么是? 在本示例的两行之间进行阅读(我已经链接了它,因为它很长),我认为这是使用多重继承来扩展类而不是“适当的”子类的一种情况。这是正确的吗? 为什么我要这样做而不是将新功能放入子类中?因此,为什么混合/多重继承方法比使用组合更好? 什么将mixin与多重继承分开?这仅仅是语义问题吗? 问题答案: 是一种特殊的多

  • 问题内容: 我试图在单独的mixin文件中包含常规样式/技巧,可以在需要时将其应用于任何项目。其中一些样式需要多个元素才能协同工作。 例如: 实际上,mixin可以工作,但是生成的css可以将mixin与主代码分开,即使它们的选择器相同。当我开始添加更多此类文件时,它的缺点是丑陋的CSS和较大的文件大小。 无论如何,我可以做到这一点,以便可以合并相同的选择器吗?像这样: 问题答案: 不能。Sass

  • 问题内容: 我正在使用Font Awesome 4.0.0,并希望在LESS中执行以下操作: 不会与错误一起编译: 有可能做到这一点吗?当然,这对我来说将是一个美丽的按钮。 问题答案: 您尝试执行的操作至少有2个问题( 对于LESS > = 1.6,请参见update bellow): 1)不幸的是,无法使用选择器插值来调用mixin。 通过选择器插值,LESS期望构造为以下格式: (插值选择器还

  • 问题内容: LESS允许参数混合,例如: 但是,这并不总是适用于过渡等属性。如果您尝试进行多个转换并尝试多次调用mixin,则最后一个mixin会覆盖所有先前定义的转换。这是因为用于定义多个转换的正确CSS3语法是: 我可以想到的将多个转换定义为mixin的唯一方法是重载mixin: 是否有更健壮和简洁的方式来定义过渡混合,以接受可变数量的参数并构造适当的过渡CSS? 上下文: 有时我想在多个属性

  • 问题内容: 我想在SASS中动态创建mixins,以列表中的每个项目命名,但是似乎不起作用。 我尝试了这个,但出现错误: 错误: SASS不支持此用法吗?我在手册中找不到任何相关内容。 问题答案: 当前似乎不支持@mixins中的变量插值。 SASS文档将其称为并描述如下: 插值:#{} 您还可以使用#{}插值语法在 选择器 和 属性名称中 使用SassScript变量: 根据文档,仅选择器和属性