Lambda + PHP なら bref
AWS Lambda で PHP を使いたいなら bref
がかんたんですよー、というのが
の記事でした。
今回は、 bref
作成したプロジェクトに Composer の autoload を設定します。
bref に autoload を設定する
autoload は、「決まった場所にあるファイルを自動で読み込む」という仕組みです。
autoload を活用できない場合、ファイルを一つずつ require
する、という古臭くてすぐ壊れるプログラムを構築する感じになってしまいます。
そんなのはもう嫌です。
では設定を進めましょう。
修正するファイルは 3 つだけです。
composer.json
bref
を
1$ composer require bref/bref
とインストールすると、その時点で composer.json
が作られます。
この composer.json
を編集して次のように autoload
の設定を追記します。
1"autoload": {
2 "psr-4": {
3 "App\\" : "src/"
4 }
5}
serverless.yml
bref
の場合、 serverless.yml
のハンドラ指定もそろえてあげます。
具体的には
1functions:
2 function:
3 handler: index.php
の handler: index.php
を
1functions:
2 function:
3 handler: src/index.php
と、 autoload で指定したディレクトリを追加します。
src/index.php
もともとあった index.php
を src/index.php
に移動します。
移動後、 autoload.php
を require して読み込みます。
1<?php declare(strict_types=1);
2namespace App;
3
4require __DIR__ . '/../vendor/autoload.php';
5
6lambda(function (array $event) {
7 // なにか処理
8});
という感じです。
この 3 つを設定したあとはルールに従ってクラスを追加していくだけですよ。