diff --git a/tools/sandbox/Documents/Account.php b/tools/sandbox/Documents/Account.php index cf05e2e1e3..1177e5b333 100644 --- a/tools/sandbox/Documents/Account.php +++ b/tools/sandbox/Documents/Account.php @@ -5,23 +5,16 @@ namespace Documents; use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM; +use Doctrine\ODM\MongoDB\Types\Type; -/** @ODM\Document(collection="accounts") */ +#[ODM\Document(collection: 'accounts')] class Account { - /** - * @ODM\Id - * - * @var string|null - */ - protected $id; - - /** - * @ODM\Field(type="string") - * - * @var string - */ - protected $name; + #[ODM\Id] + protected ?string $id; + + #[ODM\Field(type: Type::STRING)] + protected string $name; public function __construct(string $name) { diff --git a/tools/sandbox/Documents/Address.php b/tools/sandbox/Documents/Address.php index 9de89b2f4f..244d815e48 100644 --- a/tools/sandbox/Documents/Address.php +++ b/tools/sandbox/Documents/Address.php @@ -5,37 +5,22 @@ namespace Documents; use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM; +use Doctrine\ODM\MongoDB\Types\Type; -/** @ODM\EmbeddedDocument */ +#[ODM\EmbeddedDocument] class Address { - /** - * @ODM\Field(type="string") - * - * @var string|null - */ - protected $street; + #[ODM\Field(type: Type::STRING)] + protected ?string $street; - /** - * @ODM\Field(type="string") - * - * @var string|null - */ - protected $city; + #[ODM\Field(type: Type::STRING)] + protected ?string $city; - /** - * @ODM\Field(type="string") - * - * @var string|null - */ - protected $state; + #[ODM\Field(type: Type::STRING)] + protected ?string $state; - /** - * @ODM\Field(type="string") - * - * @var string|null - */ - protected $postalCode; + #[ODM\Field(type: Type::STRING)] + protected ?string $postalCode; public function getStreet(): ?string { diff --git a/tools/sandbox/Documents/Phonenumber.php b/tools/sandbox/Documents/Phonenumber.php index 0f0618fd8a..34e0fb4936 100644 --- a/tools/sandbox/Documents/Phonenumber.php +++ b/tools/sandbox/Documents/Phonenumber.php @@ -5,16 +5,13 @@ namespace Documents; use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM; +use Doctrine\ODM\MongoDB\Types\Type; -/** @ODM\EmbeddedDocument */ +#[ODM\EmbeddedDocument] class Phonenumber { - /** - * @ODM\Field(type="string") - * - * @var string|null - */ - protected $phonenumber; + #[ODM\Field(type: Type::STRING)] + protected ?string $phonenumber; public function __construct(?string $phonenumber = null) { diff --git a/tools/sandbox/Documents/User.php b/tools/sandbox/Documents/User.php index 70efdfeb26..aad659fb26 100644 --- a/tools/sandbox/Documents/User.php +++ b/tools/sandbox/Documents/User.php @@ -7,52 +7,30 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM; +use Doctrine\ODM\MongoDB\Types\Type; use function md5; -/** @ODM\Document(collection="users") */ +#[ODM\Document(collection: 'users')] class User { - /** - * @ODM\Id - * - * @var string|null - */ - protected $id; - - /** - * @ODM\Field(type="string") - * - * @var string|null - */ - private $username; - - /** - * @ODM\Field(type="string") - * - * @var string|null - */ - protected $password; - - /** - * @ODM\EmbedOne(targetDocument=Address::class) - * - * @var Address|null - */ - protected $address; - - /** - * @ODM\ReferenceOne(targetDocument=Account::class) - * - * @var Account|null - */ - protected $account; - - /** - * @ODM\EmbedMany(targetDocument=Phonenumber::class) - * - * @var Collection - */ + #[ODM\Id] + protected ?string $id; + + #[ODM\Field(type: Type::STRING)] + private ?string $username; + + #[ODM\Field(type: Type::STRING)] + protected ?string $password; + + #[ODM\EmbedOne(targetDocument: Address::class)] + protected ?Address $address; + + #[ODM\ReferenceOne(targetDocument: Account::class)] + protected ?Account $account; + + /** @var Collection */ + #[ODM\EmbedMany(targetDocument: Phonenumber::class)] protected $phonenumbers; public function __construct() diff --git a/tools/sandbox/config.php b/tools/sandbox/config.php index a90b173909..4a2576924a 100644 --- a/tools/sandbox/config.php +++ b/tools/sandbox/config.php @@ -4,8 +4,8 @@ use Doctrine\ODM\MongoDB\Configuration; use Doctrine\ODM\MongoDB\DocumentManager; -use Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver; -use Symfony\Component\Cache\Adapter\ApcuAdapter; +use Doctrine\ODM\MongoDB\Mapping\Driver\AttributeDriver; +use Symfony\Component\Cache\Adapter\ArrayAdapter; $file = __DIR__ . '/../../vendor/autoload.php'; @@ -21,7 +21,7 @@ $config->setHydratorDir(__DIR__ . '/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB('doctrine_odm_sandbox'); -$config->setMetadataCache(new ApcuAdapter()); -$config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/Documents')); +$config->setMetadataCache(new ArrayAdapter()); +$config->setMetadataDriverImpl(AttributeDriver::create(__DIR__ . '/Documents')); $dm = DocumentManager::create(null, $config);