新しいバージョンのアプリケーションをデプロイすると、Composer が自動的に実行されます。autoload.php
ファイルを要求するには、PHP スクリプトの先頭に次の行を追加します。
require_once __DIR__ . '/vendor/autoload.php';
Composer はパッケージをアプリの vendor/
ディレクトリに追加し、ここで autoload.php
ファイルが生成されます。Composer がインストールしたクラスは Composer オートローダーによって自動的に読み込まれるので、ファイルごとに require
ステートメントを指定する必要はありません。
デフォルトでは、デプロイ時に送信されるファイル数を減らす目的で、生成される .gcloudignore
ファイル内で vendor/
ディレクトリが無視されます。
標準の composer.json
ファイル内で PHP の依存関係を宣言できます。次に例を示します。
{
"require": {
"google/cloud": "^0.72"
}
}
App Engine では Linux 対応の PHP パッケージを使用できます。ランタイムは、アプリケーションの起動前にアプリケーションのソース ディレクトリで composer.json
ファイルを探し、composer
を使用して依存関係をインストールします。
Composer がキャッシュに保存された結果を使用できるときには、composer.json
ファイルで定義したスクリプトは実行されません。
デフォルトでは、App Engine は取得した依存関係をキャッシュに保存し、ビルド時間を短縮します。キャッシュに保存されていないバージョンの依存関係をインストールするには、次のコマンドを使用します。
gcloud app deploy --no-cache
ローカルにインストールして実行する
次のように composer を使用して依存関係をローカルにインストールします。
composer install
composer.lock
ファイルをアプリケーションに commit します。
選択したウェブサーバーを使用してアプリケーションをテストできます。PHP の組み込みウェブサーバーを使用すると、アプリケーションをすぐに実行できます。
ウェブ フレームワークのインストール
デフォルトでは、App Engine は public/index.php
または index.php
ファイルを通じてすべてのリクエストを処理します。フレームワークは必須ではありませんが、使用することをおすすめします。App Engine では以下のような任意のウェブ フレームワークを使用できます。
Cloud クライアント ライブラリのインストール
Google Cloud サービスにアクセスするためのクライアント ライブラリである PHP 用 Google Cloud クライアント ライブラリを使用すると、記述する必要のあるボイラープレート コードが減ります。このライブラリは、高レベルの抽象化によってわかりやすい API を提供します。また、PHP 固有のスタイルに従い、標準ライブラリとうまく連携し、コードベースとの緊密な統合を実現します。その結果、重要なコードの作成により多くの時間を割くことができるようになります。
ライブラリをローカルにインストールするには:
composer require google/cloud
Google Cloud CLI を使用して、認証をローカルで処理できます。ローカル アプリケーションで一時的に独自のユーザー認証情報を使って API にアクセスするには、次のコマンドを実行します。
gcloud auth application-default login
PHP 用 Cloud クライアント ライブラリを構成して認証を自動的に処理する際の詳細については、クライアント ライブラリを使用してクラウド サービスへの認証を行うをご覧ください。
非公開リポジトリの使用
非公開レポジトリのライブラリを使用するには、次のタスクを完了する必要があります。
- リポジトリを構成します。
- 非公開リポジトリにアクセスするための Secret を
composer
に付与します。
次の例は、GitHub の非公開リポジトリにアクセスする方法を示しています。
vcs
タイプを使用してcomposer.json
内でリポジトリを構成します。"repositories": [ { "type": "vcs", "url": "https://github.com/username/private_package" } ]
プロジェクトのルート ディレクトリに
auth.json
という名前のファイルを作成します。{ "github-oauth": { "github.com": "<your-github-auth-token>" } }
GitHub の管理 UI から GitHub 認証トークンを取得できます。
次の例は、Bitbucket の非公開リポジトリにアクセスする方法を示しています。
vcs
タイプを使用してcomposer.json
内でリポジトリを構成します。"repositories": [ { "type": "vcs", "url": "https://bitbucket.org/username/private_git" } ]
プロジェクトのルート ディレクトリに
auth.json
という名前のファイルを作成します。{ "bitbucket-oauth": { "bitbucket.org": { "consumer-key": "<your-oauth-consumer-key>", "consumer-secret": "<your-oauth-consumer-secret>" } } }