vendor/doctrine/orm/src/Mapping/Table.php line 16

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Doctrine\ORM\Mapping;
  4. use Attribute;
  5. use Doctrine\Common\Annotations\Annotation\NamedArgumentConstructor;
  6. /**
  7.  * @Annotation
  8.  * @NamedArgumentConstructor
  9.  * @Target("CLASS")
  10.  */
  11. #[Attribute(Attribute::TARGET_CLASS)]
  12. final class Table implements MappingAttribute
  13. {
  14.     /**
  15.      * @var string|null
  16.      * @readonly
  17.      */
  18.     public $name;
  19.     /**
  20.      * @var string|null
  21.      * @readonly
  22.      */
  23.     public $schema;
  24.     /**
  25.      * @var array<Index>|null
  26.      * @readonly
  27.      */
  28.     public $indexes;
  29.     /**
  30.      * @var array<UniqueConstraint>|null
  31.      * @readonly
  32.      */
  33.     public $uniqueConstraints;
  34.     /**
  35.      * @var array<string,mixed>
  36.      * @readonly
  37.      */
  38.     public $options = [];
  39.     /**
  40.      * @param array<Index>|null            $indexes
  41.      * @param array<UniqueConstraint>|null $uniqueConstraints
  42.      * @param array<string,mixed>          $options
  43.      */
  44.     public function __construct(
  45.         ?string $name null,
  46.         ?string $schema null,
  47.         ?array $indexes null,
  48.         ?array $uniqueConstraints null,
  49.         array $options = []
  50.     ) {
  51.         $this->name              $name;
  52.         $this->schema            $schema;
  53.         $this->indexes           $indexes;
  54.         $this->uniqueConstraints $uniqueConstraints;
  55.         $this->options           $options;
  56.     }
  57. }