本文最后更新于 2024-05-30,文章内容可能已经过时,请注意发布时间。

前言

现在php越来越多人使用hyperf框架了,那作为一名热爱学习的我,当然是选择学习咯~
今天开始,我将会在这里更新我每天对hyperf的了解~

正文

今天第一步当然是安装hyperf框架,让他跑起来了,首先需要注意的是,hyperf框架只能在linux系统下运行,不支持windows,所以如果是本地开发的话,推荐下载一个子系统,然后用子系统进行运行。

安装

在安装之前,需要注意的是hyperf需要一些前置

名称版本必须
PHP≥8.0true
redis-true
swoole≥4.5true

hyperf的安装命令可以分为几种:composer docker

今天我们使用composer来安装,命令如下,用composer的话请确保您的系统安装了composer

composer create-project hyperf/hyperf-skeleton

图片

他后面会弹出来一些选项,对于小白来说,我们先不选,直接回车跳过

图片

然后就安装成功了!

我们来看一下他的目录

#框架目录
hyperf
|—app
| |—Controller //控制器目录
| |—Middleware //中间件目录
| |—Model //模型目录
| |—Listener //事件监听
|—bin //启动目录
| |—hyperf.php //启动文件
|—config //配置文件目录
|—public //公共目录
|—runtime //运行缓存目录
| |—view //缓存目录
|—test //单元测试目录
|—vendor //composer 插件目录
|—view //视图模板目录
|—.env //环境变量文件
|—composer.json //composer 插件依赖文件
 
#配置文件目录结构
config
├── autoload // 此文件夹内的配置文件会被配置组件自己加载,并以文件夹内的文件名作为第一个键值
│ ├── amqp.php // 用于管理 AMQP 组件
│ ├── annotations.php // 用于管理注解
│ ├── apollo.php // 用于管理基于 Apollo 实现的配置中心
│ ├── aspects.php // 用于管理 AOP 切面
│ ├── async_queue.php // 用于管理基于 Redis 实现的简易队列服务
│ ├── cache.php // 用于管理缓存组件
│ ├── commands.php // 用于管理自定义命令
│ ├── consul.php // 用于管理 Consul 客户端
│ ├── databases.php // 用于管理数据库客户端
│ ├── dependencies.php // 用于管理 DI 的依赖关系和类对应关系
│ ├── devtool.php // 用于管理开发者工具
│ ├── exceptions.php // 用于管理异常处理器
│ ├── listeners.php // 用于管理事件监听者
│ ├── logger.php // 用于管理日志
│ ├── middlewares.php // 用于管理中间件
│ ├── opentracing.php // 用于管理调用链追踪
│ ├── processes.php // 用于管理自定义进程
│ ├── redis.php // 用于管理 Redis 客户端
│ └── server.php // 用于管理 Server 服务
├── config.php // 用于管理用户或框架的配置,如配置相对独立亦可放于 autoload 文件夹内
├── container.php // 负责容器的初始化,作为一个配置文件运行并最终返回一个 Psr\Container\ContainerInterface 对象
└── routes.php // 用于管理路由
#常用命令
1.启动命令 php bin/hyperf.php start
2.创建控制器 php bin/hyperf.php gen:controller IndexController
3.创建模型 php bin/hyperf.php gen:model User
4.查看路由 php bin/hyperf.php describe:routes

启动服务

hyperf启动的时候,需要关闭swoole的短命名,可以在php.ini中添加swoole.use_shortname=Off,也可以在启动的时候关闭php -d swoole.use_shortname=Off hyperf.php start,否则会出现意料之外的错误

在启动以后,我们访问他的默认端口9501就可以看到我们的数据啦~

图片

路由

hyperf的路由分为几种:
标准路由:在配置文件中定义的路由,同thinkphporlaravel
分组路由:和其他的框架一样,hyperf同样支持分组路由
注解路由hyperf团队表示,在你路由很多的情况下,推荐使用注解路由,这样可以便捷的维护,见 路由

结语

好啦,今天的学习就到这里,学无止境,不提倡别人内卷,但是自己一定要卷~