signnow / rest-entity-manager
该库让您能够在DTO对象中与REST API进行通信
v2.3.0
2022-10-11 08:50 UTC
Requires
- php: >=7.1
- ext-ctype: *
- ext-json: *
- doctrine/annotations: ~1.6
- guzzlehttp/guzzle: ^7.0.0
- jms/serializer: ^3.12.0
Requires (Dev)
- phpunit/phpunit: ^7
This package is not auto-updated.
Last update: 2024-09-24 19:01:26 UTC
README
本项目帮助您使用DTO对象与REST API进行通信
要求
PHP 7.1或更高版本
安装
可以使用Composer安装该库。
composer require signnow/rest-entity-manager
用法
use Doctrine\Common\Annotations\AnnotationRegistry; use JMS\Serializer\Annotation as Serializer; use SignNow\Rest\EntityManager\Annotation\HttpEntity; use SignNow\Rest\Entity\Entity; use SignNow\Rest\Factories\ClientFactory; use SignNow\Rest\Factories\EntityManagerFactory; /** * Class User * * @HttpEntity("users/{user}") */ class User extends Entity { /** * @var int * @Serializer\Type("int") */ private $id; /** * @var string * @Serializer\Type("string") */ private $name; /** * @return int */ public function getId(): ?int { return $this->id; } /** * @return string */ public function getName(): string { return $this->name; } } $clientFactory = new ClientFactory(['base_uri' => 'https://api.github.com']); $entityManager = (new EntityManagerFactory($clientFactory))->create(); /** @var User $user */ $user = $entityManager->get(User::class, ['user' => 'codeception']); echo sprintf('Id: %s; Name: %s.', $user->getId(), $user->getName());