PHP
    • PDF

    PHP

    • PDF

    Article Summary

    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」という名前のアクションを作成する手順です。

    compute-15-2-501.png

    依存関係ファイルを一緒にパッケージ化してアクション作成

    コードを作成してると、一つのアクションファイル以外に依存ファイルを一緒にパッケージ化する場合があります。 こういった場合は、関連するファイルを一つのファイルに圧縮してパッケージ化し、圧縮されたファイルを利用してアクションを作成できます。
    デフォルト値として使用されるmain(args)関数のように、アクションの実行時にエントリーポイントの役割をするメイン関数は、index.phpファイル内に定義されている必要があります。
    例えば、メインアクションで使用される関数が作成されたhelper.phpファイルと一緒にパッケージ化してアクションを作成したい場合、以下のコマンドを使用してアクションに関連するファイルをhelloPHP.zipに圧縮します。

    zip -r helloPHP.zip index.php hello.php
    

    その後は、作成された圧縮ファイルを使用してアクションを作成できます。

    コンポーザー(Composer)依存関係をパッケージ化してアクション作成

    PHPアクションコードを作成する際、依存関係管理ツールのcomposerを使用して複数のライブラリを使用する場合があります。 このような場合、基本的にパッケージ化する方法と同様にvendorに含まれた依存モジュールまで一緒にパッケージ化してアクションを作成・実行できます。 また、メイン関数がindex.phpファイル内で定義されている必要があります。
    以下は、fzaninotto/fakerライブラリを追加して実際の住所に類似するフェイクデータを作成するアクションを作成する例です。

    1. composerコマンドを利用してライブラリをインストールします。

      $ composer require fzaninotto/faker
      
    2. index.phpファイル名で偽の住所を返すメイン関数を定義します。

      <?php
      require __DIR__ . '/vendor/autoload.php';
      
      function main(array $args) : array
      {
          $faker = Faker\Factory::create();
          return ["address" => $faker->address];
      } 
      ?>
      
    3. vendorフォルダとindex.phpファイルを一緒に圧縮します。

      $ zip -r composerPHP.zip vendor index.php
      
    4. 作成したファイルをアップロードしてアクションを作成します。


    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.