本文将详细介绍在 Docker 环境下,如何使用 Hyperf 开发应用,并给出完整的使用示例。主要包括以下几个部分。
安装 Docker
本文的演示基于 Docker 环境,因此需要先安装 Docker。Docker 可以在多个平台上运行,如 Windows、macOS 和 Linux。这里以 macOS 为例进行说明。
在 macOS 上安装 Docker 的具体步骤可以在官方文档中查看,这里简单列举一下:
- 下载安装包并进行安装:https://www.docker.com/get-started
- 打开终端,在命令行中输入
docker version
命令,检查是否安装成功。
创建 Docker 容器
在 Docker 中启动一个 Hyperf 服务,我们需要创建一个新的容器,并在容器中安装 Hyperf 所需的依赖。可以使用官方的 Docker 镜像来创建容器。
下面是创建 Docker 容器的命令:
docker run -ti --name hyperf -p 9501:9501 -v /path/to/your/code:/data/hyperf hyperf/hyperf:latest /bin/bash
其中,
-ti
:用交互模式运行容器,并分配一个终端。--name
:为容器指定一个名称。-p
:将容器内的9501
端口映射到宿主机上的9501
端口。-v
:将本地的代码目录/path/to/your/code
挂载到容器中的/data/hyperf
目录中,这样可以在容器中以访问本地目录的方式加载代码。hyperf/hyperf:latest
:使用官方的 Hyperf 镜像,并指定版本为最新版。/bin/bash
:在容器中启动 Bash 终端。
在容器中安装成功后,可以在容器的 Bash 终端中执行以下命令来确认 Hyperf 是否安装成功。
composer create-project hyperf/hyperf-skeleton
cd hyperf-skeleton
php bin/hyperf.php start
开始编写代码
在容器中安装好 Hyperf 后,就可以开始编写代码了。这里以一个简单的示例说明。
示例一
创建一个 /test
路由,返回一个字符串。
在 routes.php
中加入以下代码:
<?php
use Hyperf\HttpServer\Router\Router;
Router::get('/test', function () {
return 'Hello, Hyperf!';
});
示例二
使用 MySQL 数据库,并返回数据库中的一条记录。
首先需要安装 PDO 扩展和相关库:
docker-php-ext-install pdo_mysql
apt-get update && apt-get install -y libpq-dev
docker-php-ext-install pgsql pdo_pgsql
然后根据实际情况修改配置文件 config/autoload/dependencies.php
,加入以下依赖:
[
'class' => Hyperf\DbConnection\Db::class,
'constructor' => [
'pool' => Hyperf\DbConnection\DbPool::class,
],
],
[
'class' => Hyperf\DbConnection\DbPool::class,
'constructor' => [
'option' => [
'username' => 'root',
'password' => '',
'database' => 'test',
'host' => 'mysql',
'port' => 3306,
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'pool' => [
'min_connections' => 1,
'max_connections' => 10,
'connect_timeout' => 10.0,
'wait_timeout' => 3.0,
'heartbeat' => -1,
'max_idle_time' => (float) env('DB_MAX_IDLE_TIME', 60),
],
],
],
],
然后在 /test_db
路由中获取数据库中一条记录,修改代码如下:
<?php
use Hyperf\HttpServer\Router\Router;
use Hyperf\DbConnection\Db;
Router::get('/test_db', function () {
$data = Db::table('users')->where('id', 1)->first();
return json_encode($data);
});
运行 Hyperf 应用
运行 Hyperf 应用非常简单,只需要在命令行输入以下命令:
cd hyperf-skeleton
php bin/hyperf.php start
如果一切顺利,你应该能在浏览器上访问 http://localhost:9501/test 和 http://localhost:9501/test_db,看到返回的内容。
以上就是在 Docker 环境下使用 Hyperf 开发应用的整个流程,希望对你有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Docker 下开发 hyperf 完整使用示例 - Python技术站