我正在将 Dunglas api-platform 捆绑包 ( https://github.com/api-platform/api-platform ) 用于新应用程序。
设置和安装很顺利,GET 请求正在工作。
在尝试使用 POST 请求创建新对象时,我收到有关拥有私有构造函数的错误。我的模型都是使用私有构造函数制作的,而是使用命名构造函数。
理想情况下,我要么正在寻找一种方法让包调用我的命名构造函数,......或者有人告诉我我的方法是完全错误的。
服务.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;
}
}
按照文档中的介绍和设置,设置几乎都是开箱即用的。我已经简要地浏览了工厂的事情——希望我能够使用工厂来创建对象,允许我调用自己命名的构造函数——但这似乎并没有起到我认为的作用。
非常感谢有关使用、边界或设置的任何输入。