
从0开始学习hyperf框架
本文最后更新于 2024-05-30,文章内容可能已经过时,请注意发布时间。
前言
现在php越来越多人使用hyperf
框架了,那作为一名热爱学习的我,当然是选择学习咯~
今天开始,我将会在这里更新我每天对hyperf
的了解~
正文
今天第一步当然是安装hyperf
框架,让他跑起来了,首先需要注意的是,hyperf
框架只能在linux
系统下运行,不支持windows
,所以如果是本地开发的话,推荐下载一个子系统,然后用子系统进行运行。
安装
在安装之前,需要注意的是hyperf
需要一些前置
名称 | 版本 | 必须 |
---|---|---|
PHP | ≥8.0 | true |
redis | - | true |
swoole | ≥4.5 | true |
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
的路由分为几种:
标准路由
:在配置文件中定义的路由,同thinkphp
orlaravel
分组路由
:和其他的框架一样,hyperf
同样支持分组路由
注解路由
:hyperf
团队表示,在你路由很多的情况下,推荐使用注解路由,这样可以便捷的维护,见 路由
结语
好啦,今天的学习就到这里,学无止境,不提倡别人内卷,但是自己一定要卷~
- 感谢你赐予我前进的力量