leverage-php / lambda-skeleton
dev-main
2022-12-16 10:29 UTC
Requires
- bref/bref: ^1.7
Requires (Dev)
- leverage-php/toolchain: ^1.2
This package is auto-updated.
Last update: 2024-09-06 13:36:49 UTC
README
介绍
该项目旨在简化开发新的 AWS Lambda 函数。
它提供
- 一个最小化和空的项目,您可以在此基础上构建新的 Lambda 函数。
- 开发工具,如 PHPUnit、PHPStan、CS fixer 等。
- 本地运行您的函数,包括 Xdebug。
- Bref 在 AWS Lambda 上运行 PHP 运行时。
- Serverless 配置以轻松将函数部署到 AWS。
- GitHub Actions 工作流程以测试您的代码并自动将函数部署到 AWS。
用法
要设置新的项目,只需运行
composer create-project leverage-php/lambda-skeleton
如果您使用 Docker
docker run -it -v $PWD:/app --rm composer create-project leverage-php/lambda-skeleton
它将创建一个包含极简项目的新文件夹并安装所有依赖项。您还需要
-
将
.env.dist
复制到.env
并设置您的环境变量。 -
编辑 serverless.yml
#Set up a name of your project. It'll be used in AWS Cloudformation.
service: app
...
functions:
default:
#Set up a name for your AWS Lambda function
name: task-${sls:stage}
就这样。
开发
要本地调用您的函数,运行
$ bin/local
# With JSON event data
$ bin/local '{"foo": "bar"}'
# With JSON in a file
$ bin/local --file=event.json
您可以使用各种开发工具,多亏了 leverage-php/toolchain
bin/composer
- Composer
vendor/bin/test
- PHPUnit
vendor/bin/static
- PHPStan
vendor/bin/codestyle
- PHP CS Fixer
部署
要部署您的函数,运行
bin/deploy
它将部署安装在您机器上的项目到开发阶段。
Github Actions
有两个预定义的工作流程用于设置 Github Actions
-
on-pull-request.yml
在创建拉取请求后运行您的测试工具(PHPUnit、PHPStan 和 CS fixer)。 -
on-push-main.yml
在将更改推送到主分支后,将您的函数部署到 AWS 的预发布环境。
PHP 配置
PHP 由 Bref 配置,包含针对 AWS 运行时的优化设置。如果您需要更改它们,只需在项目的根目录中创建一个 php/conf.d
文件夹,并将您的 php.ini
放在那里。