0

新しいアプリに Dunglas api-platform バンドル ( https://github.com/api-platform/api-platform ) を使用しています。

セットアップとインストールは正常に完了し、GET 要求が機能しています。

POST リクエストを使用して新しいオブジェクトを作成しようとしたときに、プライベート コンストラクターに関するエラーを受け取りました。私のモデルはすべてプライベート コンストラクターを使用して作成されており、代わりに名前付きコンストラクターを使用しています。

理想的には、バンドルに名前付きコンストラクターを呼び出す方法を探しているか、または誰かが私のアプローチが完全に間違っていると教えてくれます。

Services.yml

services:
    resource.player:
        parent:    "api.resource"
        arguments: [ "Name\\Space\\Player" ]
        tags:      [ { name: "api.resource" } ]

プレーヤー オブジェクト

class Player
{
    private $name;
    private function __construct()
    {
    }
    public static function withName($playerName)
    {
        $player = new Player();
        $player->name = $playerName;
        return $player;
    }
    public function getName()
    {
        return $this->name;
    }
}

ドキュメントの紹介とセットアップに従って、設定はほとんどすべて箱から出してすぐに使用できます。ファクトリのことを簡単にざっと調べました-ファクトリを使用してオブジェクトを作成し、独自の名前付きコンストラクターを呼び出すことができることを望んでいます-しかし、それは私が思っていることをしていないようです。

使用、境界、またはセットアップに関するご意見をお待ちしております。

4

1 に答える 1