PHP での依存関係を指定する
PHP の依存関係を管理するには、Composer を使用します。
Composer のインストール
Composer をまだインストールしていない場合は、次の手順でインストールします。
任意の場所に Composer をダウンロードします。
ダウンロード完了後、
composer.phar
ファイルをシステムパス内のディレクトリに移動します。次に例を示します。mv composer.phar /usr/local/bin/composer
composer.json
ファイルの作成
composer.json
ファイルには、関数の依存関係が列挙されます。このファイルは、手動で作成するか、次のコマンドを実行して作成します。
composer init
このコマンドを実行すると、対話形式で、整ったデフォルト設定の提示とともにフィールドへの入力が促されます。
依存関係を宣言する
依存関係を宣言するには、依存関係を含む composer.json
ファイルを関数コードのディレクトリに追加します。この例では、Functions Framework を必須とし、start
スクリプトを追加しています。
なお、Composer がキャッシュに保存された結果を使用できる場合、composer.json
ファイルに定義したスクリプトは実行されません。
Functions Framework を依存関係として追加する
Cloud Run functions の PHP ランタイムには、Functions Framework が明示的な依存関係として必要です。Functions Framework を依存関係として追加するには、関数コードが含まれるディレクトリで次のコマンドを実行します(このディレクトリには composer.json
ファイルも含まれている必要があります)。
composer require google/cloud-functions-framework
これにより、Functions Framework が composer.json
に追加され、パッケージが vendor/
ディレクトリにインストールされます。
autoload.php
ファイル
autoload.php
は、vendor/
ディレクトリに含まれるファイルの 1 つです。
PHP スクリプトの先頭に次の行を追加して autoload.php
ファイルを require すると、関数の他の依存関係が自動的に require
されます。
require_once __DIR__ . '/vendor/autoload.php';
デフォルトでは、デプロイ時に送信されるファイル数を減らすために、生成される .gcloudignore
ファイル内で vendor/
ディレクトリは無視されます。
依存関係の更新
関数の依存関係と composer.lock
ファイルを更新するには、update
コマンドを使用します。
composer update
これにより、プロジェクトのすべての依存関係が解決され、正確なバージョンが composer.lock
に書き込まれます。