摘要:将 slim framework 应用程序与 docker 结合使用可以简化部署并确保环境一致。创建 docker 镜像,指定 php 镜像、安装依赖项、复制代码。使用 slim 依赖项定义 composer.json 文件。构建 docker 镜像并运行容器。通过 http://localhost 访问应用程序。创建路由处理 get 请求,例如 http://localhost/hello/john,显示 "hello, john!" 消息。
Slim Framework Docker 部署手册
Slim Framework 是一个轻量级、灵活的 PHP 微框架,非常适合构建 RESTful API 和简单的 Web 应用程序。将其与 Docker 容器结合使用可以简化部署过程并确保一致的环境。
先决条件
- Docker 已在您的系统上安装。
- Composer 已在您的系统上安装。
项目结构
创建一个用于存放您的 Slim Framework 应用程序的新目录,目录结构如下:
├── Dockerfile
├── composer.json
├── index.php
└── vendor/
Dockerfile
Dockerfile 定义了要构建的 Docker 镜像。对于 Slim Framework 应用程序,一个简单的 Dockerfile 如下所示:
FROM php:8.1-apache
WORKDIR /usr/src/app
COPY composer.json composer.lock vendor/ .
RUN composer install
COPY . .
CMD ["php", "-S", "0.0.0.0:80"]
composer.json
composer.json 文件定义了应用程序的依赖项。在该文件中,您需要添加对 Slim Framework 的依赖项:
{
"require": {
"slim/slim": "^4.0"
}
}
运行应用程序
使用以下命令构建 Docker 镜像:
docker build -t slim-app .
然后运行容器:
docker run -p 80:80 slim-app
现在,您可以通过导航至 http://localhost 查看您的 Slim Framework 应用程序。
实战案例:使用路由
Slim Framework 提供了强大的路由功能。让我们创建一个简单的路由来处理对 /hello/{name} 路径的 GET 请求:
<?php
use SlimHttpRequest;
use SlimHttpResponse;
use SlimApp;
// 创建一个 Slim 应用程序
$app = new App();
// 定义路由
$app->get('/hello/{name}', function (Request $request, Response $response, array $args) {
// 获取名称参数
$name = $args['name'];
// 返回响应
$response->getBody()->write("Hello, $name!");
return $response;
});
// 运行应用程序
$app->run();
要使用此路由,请在浏览器中导航至 http://localhost/hello/John。您将看到 "Hello, John!" 消息。
结论
通过使用 Docker 部署 Slim Framework 应用程序,您可以简化部署流程并确保跨不同环境的一致性。通过结合 Docker 和 Slim Framework 的强大功能,您可以轻松构建和部署轻量级且高效的 Web 应用程序。