通过自定义配置文件直接增加 listen 端口并绑定原生回调
在 ThinkPHP 6.x / 8.x 结合 think-swoole 扩展的环境下,通过自定义配置文件直接增加 listen 端口并绑定原生回调是完全可行的。 think-swoole 的底层是基于 Swoole 的,它在框架初始化时会读取 config/swoole.php。我们可以利用 Sw
think-swoole 官方自带的 RPC 功能
使用 think-swoole 官方自带的 RPC 功能,其底层的设计思路非常精妙:它是通过接口(Interface)进行契约绑定的。 [1] 官方自带 RPC 的核心优势在于,它不仅为你准备好了服务端的解析路由,还会自动在客户端项目里生成和映射代理类。你调用远程方法时,代码提示和本地调用一模一样。
支持同步/异步的客户端封装
为了在原生 PHP 环境(如 FPM/Apache)下同时支持同步阻塞调用(一问一答)和异步非阻塞调用(发出请求后不等待,后续并发统一收包),最经典的架构是利用 stream_socket_client 的非阻塞模式结合 stream_select 进行多路复用。 以下是完整重构后的 JsonRpc
原生的 fsockopen 或基于流的 socket 客户端
在 ThinkPHP6 中使用 Swoole 客户端封装 JSON-RPC 客户端,最核心的高效做法是结合 Swoole 的协程 TCP 客户端 (Swoole\Coroutine\Client) 与 PHP 的魔术方法 (__call),从而实现像调用本地方法一样调用远程服务(RPC 代理)。 [
通过网关代理类gateway动态分发客户端的调用
在 think-swoole 官方默认的配置模式中,RPC 服务(如第三步配置的 class 数组)是在服务启动时一次性加载的常驻内存数据。如果需要实现动态绑定(即无需重启 Swoole 进程即可动态新增、删除或修改可调用的 RPC 服务),我们不能将类写死在配置文件里。 在 ThinkPHP6 下
轻量级开源全文搜索引擎:Manticore Search 入门介绍 - 实践
在现代应用中,搜索功能几乎是不可或缺的一环。无论是电商平台、内容网站还是日志系统,都需要高效的全文检索支持。传统数据库的 LIKE 查询性能有限,而重量级搜索引擎如 Elasticsearch 又可能资源占用过高。那么,有没有一种兼具轻量、高性能、易用性的搜索引擎? 今天我们来介绍一款非常实用的开源
music-php:全网音乐搜索和下载
music-php 全网音乐搜索和下载 English | 中文 环境要求 PHP >= 5.6 Composer 安装 phar 文件下载安装 在 releases 页面中下载 music-php 或者 music-php.phar 文件。 全局安装 $ composer global requi
jquery-tagsinput标签插件
插件使用jquery-tagsinput 1.3.6版本。 github地址:https://github.com/xoxco/jQuery-Tags-Input 给需要的 input 增加上 js-tags-input 的 class。在表单中创建一个包含以逗号分隔的标记列表的实际输入。您可以在v
Js 混淆
如果你想在 ThinkPHP6 项目中针对特定的某个 JS 文件(例如存放解密逻辑的 decrypt.js)进行混淆,而不是混淆整个项目的代码,可以参考以下三种方式: 1. 命令行方式(最简单直接) 如果你不想配置复杂的构建环境,直接使用全局命令行工具即可。 安装工具: bash npm insta
Forgot password
namespace app\controller; use app\BaseController; use think\facade\Db; use think\facade\Cache; use think\facade\Mail; // 假设你封装了邮件类 use think\facade\Va