64 lines
1.3 KiB
PHP
Raw Normal View History

<?php
2017-12-17 10:44:07 +01:00
/*
* This file is part of the NelmioApiDocBundle package.
*
* (c) Nelmio
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Nelmio\ApiDocBundle\Tests\Functional\Entity;
use JMS\Serializer\Annotation as Serializer;
/**
2017-12-17 10:44:07 +01:00
* Class VirtualProperty.
*
* @Serializer\ExclusionPolicy("all")
* @Serializer\VirtualProperty(
* "email",
* exp="object.user.email",
* options={@Serializer\Type("string")}
* )
*/
class VirtualProperty
{
/**
* @var int
* @Serializer\Type("integer")
* @Serializer\Expose
*/
private $id;
/**
* @var User
*/
private $user;
/**
* @Serializer\Accessor(getter="getFoo", setter="setFoo")
* @Serializer\Type("string")
2020-09-09 08:35:01 +02:00
* @Serializer\Expose
*
* Ensures https://github.com/nelmio/NelmioApiDocBundle/issues/1708 is fixed.
*/
private $virtualprop;
public function __construct()
{
$this->user = new User();
2017-12-17 10:44:07 +01:00
$this->user->setEmail('dummy@test.com');
}
public function __call(string $name, array $arguments)
{
if ('getFoo' === $name || 'setFoo' === $name) {
return 'Success';
}
throw new \LogicException(sprintf('%s::__call does not implement this function.', __CLASS__));
}
}