- 印刷する
- PDF
PHP
- 印刷する
- PDF
Classic/VPC環境で利用できます。
PHP形式のアクションを作成して様々な形で活用する方法と、その例を紹介します。
アクションの作成
JavaScriptのNPMのように、PHPのパッケージマネージャーのコンポーザー(Composer)を使用して依存関係を管理できます。また、依存関係ライブラリと一緒にパッケージ化してアクションを作成することもできます。 PHPで作成したコードは複数の関数を含めますが、main
関数はプログラムのエントリーポイントとして宣言される必要があります。 以下は、この点を考慮して名前と場所を含めて「Hello World」を出力するPHP形式の簡単なサンプルコードのhello.php
です。
<?php
function main(array $args) : array
{
$name = $args["name"] ?? "World";
$place = $args["place"] ?? "Naver";
$greeting = "Hello $name in $place!";
echo $greeting;
return ["payload" => $greeting];
}
?>
以下は、上記で作成してコードを使用してコンソールで「hello」という名前のアクションを作成する手順です。
依存関係ファイルを一緒にパッケージ化してアクション作成
コードを作成してると、一つのアクションファイル以外に依存ファイルを一緒にパッケージ化する場合があります。 こういった場合は、関連するファイルを一つのファイルに圧縮してパッケージ化し、圧縮されたファイルを利用してアクションを作成できます。
デフォルト値として使用されるmain(args)
関数のように、アクションの実行時にエントリーポイントの役割をするメイン関数は、index.phpファイル内に定義されている必要があります。
例えば、メインアクションで使用される関数が作成されたhelper.php
ファイルと一緒にパッケージ化してアクションを作成したい場合、以下のコマンドを使用してアクションに関連するファイルをhelloPHP.zipに圧縮します。
zip -r helloPHP.zip index.php hello.php
その後は、作成された圧縮ファイルを使用してアクションを作成できます。
コンポーザー(Composer)依存関係をパッケージ化してアクション作成
PHPアクションコードを作成する際、依存関係管理ツールのcomposerを使用して複数のライブラリを使用する場合があります。 このような場合、基本的にパッケージ化する方法と同様にvendor
に含まれた依存モジュールまで一緒にパッケージ化してアクションを作成・実行できます。 また、メイン関数がindex.php
ファイル内で定義されている必要があります。
以下は、fzaninotto/faker
ライブラリを追加して実際の住所に類似するフェイクデータを作成するアクションを作成する例です。
composerコマンドを利用してライブラリをインストールします。
$ composer require fzaninotto/faker
index.phpファイル名で偽の住所を返すメイン関数を定義します。
<?php require __DIR__ . '/vendor/autoload.php'; function main(array $args) : array { $faker = Faker\Factory::create(); return ["address" => $faker->address]; } ?>
vendorフォルダとindex.phpファイルを一緒に圧縮します。
$ zip -r composerPHP.zip vendor index.php
作成したファイルをアップロードしてアクションを作成します。