hyperf专题

hyperf注解,自定义注解

注解是 Hyperf 非常强大的一项功能,可以通过注解的形式减少很多的配置,以及实现很多非常方便的功能。 结构 建立注解 在app下建立Annotation注解文件夹 在Annotation下建立Jim.php注解 下面的的@Annotation 和 @Target是全局注解,所以不需要use 引入 注解一共有 3 种应用对象,分别是 类、类方法 和 类属性 @Target()

hyperf 协程作用和相关的方法

什么是协程 协程是一种轻量级的线程,由用户代码来调度和管理,而不是由操作系统内核来进行调度,也就是在用户态进行 判断当前是否处于协程环境内 在一些情况下我们希望判断一些当前是否运行于协程环境内, 对于一些兼容协程环境与非协程环境的代码来说会作为一个判断的依据, 我们可以通过 Hyperf\Coroutine\Coroutine::inCoroutine(): bool 方法来得到结果。 创

如何用好swoole/webman/workerman/hyperf呢

Webman框架的依赖 "require": { "php": ">=7.2", "workerman/webman-framework": "^1.5.0",// "monolog/monolog": "^2.0" }, 依赖的核心框架也是很久的了 webman-framework的核心依赖 "require": { "php":

hyperf 多对多关联模型

这里使用到三张表,一张是用户(users),一张是角色(roles),一张是用户角色关联表(users_roles), 首先创建用户模型、角色模型 php bin/hyperf.php gen:model usersphp bin/hyperf.php gen:model roles users模型 <?phpdeclare (strict_types=1);namespace Ap

关于hyperf的DEMO在docker下绑定phpstorm出现的问题。

手动重启hyperf比较麻烦,想办法绑定phpstorm,实现编辑器控制docker中的hyperf停启行为。 先要把docker与phpstorm绑定 在windows下面: 鼠标右键选择docker的Settings 勾选 "Expose daemon on tcp://localhost:2375" 就是暴露守护进程。 然后在phpstorm中设置docker配置 下面的s

laravel,webman,hyperf,thinkphp推荐哪一个?

laravelwebmanhyperfthinkphp流行程度国内流行,欧洲特别是法国,美国,日本很多使用主要在国内流行,少量国外使用主要国内流行,少量国外使用国内流行,国外俄罗斯有使用性能fpm多进程模式,性能一般,偏差同步阻塞多进程模式,性能很好web第一梯队协成支持异步并发,性能很好web第一梯队fpm多进程模式,性能一般安全性安全性较好,有laravel和symfony社区即时修复,漏洞较

Dockerfile详解 hyperf

Dockerfile结构 基础镜像信息维护者信息镜像操作指令容器启动时执行指令 Dockerfile 实例(hyperf) FROM php:7.4.11-fpm-alpine3.12#分配Hugepages(设置在宿主机上设置即可)# RUN sysctl vm.nr_hugepages=128#RUN echo "memory_limit = 256M;" >> /usr/loca

基于Hyperf的CMS,企业官网通用php-swoole后台管理系统

2023年9月11日10:47:00 仓库地址: https://gitee.com/open-php/zx-hyperf-cms CMS,企业官网通用PHP后台管理系统 框架介绍 hyperf SCUI 后端开发组件 php 8.1 hyperf 3.1 数据库 sql(使用最新日期文件) hyperf\doc\sql_bak mysql 8. 系统默认账号密码: admin/ad

Windows如何通过wsl2迅速启动Docker desktop的PHP的Hyperf项目容器?

一、安装WSL 什么是WSL? 官网:什么是WSL? Windows Subsystem for Linux (WSL) 是一个在Windows 10和Windows 11上运行原生Linux二进制可执行文件的兼容性层。 换句话说,WSL让你可以在Windows系统上运行Linux环境,而无需设置双系统或使用虚拟机。 安装WSL 官网:安装WSL 打开 “控制面板” -> “程序” -> “

hyperf统一请求响应

2024年4月18日08:48:45 以下是两个方案: 1,使用注解,直接返回 <?phpnamespace App\Utils;use App\Utils\GlobalCode;use App\Utils\GlobalMsg;use Hyperf\Contract\ContainerInterface;use Hyperf\Di\Annotation\Inject;use Hype

hyperf 二十九 修改器 二

教程:Hyperf 属性类型转换 Hyperf\Database\Model\Concerns\HasAttributes::casts被HasAttributes::setAttribute()、HasAttributes::getAttribute()调用,执行类型转换。 HasAttributes::casts为数组类型可设置基本类型或类的实例。默认设置主键id为int。 内置的基本强制转

hyperf 多数据库(要分库的来看)实时连接第二方案(无需预先定义config连接池,无需重启项目)

第一方案连接: https://blog.csdn.net/mark885/article/details/137040284 思路:通过 Hyperf\Contract\ConfigInterface 配置接口类修改内存中的配置信息,在框架启动完成后的事件中定义监听(效果是框架启动后自动设置一次数据库连接池配置)。 1.App\System\Service\SystemConfig\Co

一次句话明白hyperf为什么这么多Interface,且没有用new和具体的实例。

每个组件都有个ConfigProvider->__invoke()->depandencies 就这一句话,把其他框架的设计思维统统甩一条街。 就这么一句话把高级框架的高级点全部包含: 依赖注入 面对接口编程 设计模式-工厂模式(配置文件决定了这框架的依赖注入必须使用工厂模式) 协程=>高并发(控制器类中不能有动态变量,达到协程安全【不让数据混淆】。也就是说 一个请求开一个协程) 这

Hyperf框架使用阿里云OSS上传失败

阿里云官方PHP OSS SDK和Swoole CURL_HOOK的兼容问题 开启CURL_HOOK后使用阿里云OSS会报错: Oss\Core\OssException: : RequestId: 解决方案 请同时安装官方SDK和reasno/swoole-aliyunoss-addon。 composer require aliyuncs/oss-sdk-phpcomposer

[PHP] hyperf代码热更新-hyperf-watch

hyperf-watch是一个php脚本实现的热更新组件 这个脚本就一个文件,直接下载这个文件就可以了,就这一个watch的脚本文件 linux下可以使用这个命令 wget -O watch https://gitee.com/hanicc/hyperf-watch/raw/master/watch 运行的时候直接 php watch -c  这样当文件改变的时候会自动重启,

hyperf 二十六 数据迁移 二

教程:Hyperf 参考文章hyperf 二十五 数据迁移 一-CSDN博客 根据之前写的数据迁移的文章,已经说明Hyperf\Database\Schema\Schema::create()实际运行Hyperf\Database\Schema\Grammars\MySqlGrammar::compileCreate()生成的sql字符串。 文档所谓"在迁移文件中主要通过 Hyperf\Da

Hyperf AOP 和 注解

注解 (hyperf.wiki) AOP 面向切面编程 (hyperf.wiki) 切面 定义切面(Aspect) 根据官方教程定义一个切面。可以指定类、方法、参数和注解上生效。 <?phpnamespace App\Aspect;use App\Service\SomeClass;use App\Annotation\SomeAnnotation;use Hyperf\Di\An

hyperf开发项目

一,初始化并增加常用组件 具体参照大神 https://www.bilibili.com/video/BV1YN4y1W7ak/?share_source=copy_web&vd_source=057441deb1a2b3a2f0c962f1458f0e0b ps:查看当前php版本 和swoole版本 docker exec -it hyperf bash php -v php --

supervisor进程管理器-supervisord管理hyperf项目

Supervisor安装 # 安装 epel 源,如果此前安装过,此步骤跳过 yum install -y epel-release# 安装supervisoryum install -y supervisor# 设置supervisor开机自启动systemctl enable supervisord# 启动supervisord服务systemctl start supervi

docker构建hyperf环境

一,构建hyperf 镜像 官网git https://github.com/hyperf/hyperf-docker 使用dockerfile构建镜像 根据需要这里我使用8.1 swoole版本的镜像 在/home/hyperfdocker 目录中新建一个Dockerfile文件,将这个git上的Dockerfile内容复制粘贴进去 docker build -t hyperf:php8.

Hyperf crontab 定时任务组件

composer require hyperf/crontab autoload里面配置process和crontab,这里主要是对crontab配置里的其他任务属性配置进行尝试。 onOneServer singleton onOneServer 和 singleton 在crontab源码中src/Strategy/Executor.php 中decorateRunnable是控制是

记 Hyperf booted模型事件的使用

前因 产品经理提了一个需求,要求能自定义内容的创建时间,当前事件大于创建时间时,才能查询到这些内容,并对内容进行操作 我的第一反应:不算麻烦,只需要在仓储层的查询方法中,给每个查询都多加一个查询条件不就好了吗 于是勤勤恳恳的写完了,检查代码时,却犹豫了,有没有更好的办法呢? Laravel的实现方法 翻了翻laravel的相关文档,果然发现了有用的东西 Hyperf的实现 (之所

docker中hyperf项目配置虚拟域名

在使用hyperf框架时,直接用了docker环境进行开发 下载镜像运行容器 docker run --name hyperf -v /data/project:/data/project -p 9501:9501 -itd -w /data/project --privileged -u root --entrypoint /bin/sh 镜像ID 配置docker-compose.ym

Hyperf 使用配置中心 - nacos配置中心

安装 composer require hyperf/config-center composer require hyperf/config-nacos 配置 配置 config/autoload/service.php <?phpreturn ['enable' => [// 开启服务发现'discovery' => true,// 开启服务注册'register' => tru

composer安装hyperf后,nginx配置hyperf

背景 引入hyperf项目用作微服务,使用composer 安装hyperf后,对hyperf进行nginx配置。 配置步骤 因为hyperf监听的是端口,不像其他laravel、lumen直接指向文件即可。所有要监听端口号。 1 配置nginx server {listen 80;//http:80 https:443 根据你自己需要配置server_name jms.51about.

hyperf 和 laravel、lumen防止xss攻击中间件封装

hyperf 防止xss攻击自定义中间件封装 <?phpdeclare(strict_types=1);namespace App\Middleware;use Psr\Container\ContainerInterface;use Psr\Http\Message\ResponseInterface;use Psr\Http\Server\MiddlewareInterface;use