diff options
Diffstat (limited to 'src/application/mystic/forum/attributes')
5 files changed, 48 insertions, 0 deletions
diff --git a/src/application/mystic/forum/attributes/Column.php b/src/application/mystic/forum/attributes/Column.php new file mode 100644 index 0000000..aee47a2 --- /dev/null +++ b/src/application/mystic/forum/attributes/Column.php @@ -0,0 +1,11 @@ +<?php + +namespace mystic\forum\attributes; + +#[\Attribute(\Attribute::TARGET_PROPERTY)] +class Column { + public function __construct( + public readonly ?string $columnName = null, + public readonly ?string $columnType = null, + ) {} +} diff --git a/src/application/mystic/forum/attributes/NotNull.php b/src/application/mystic/forum/attributes/NotNull.php new file mode 100644 index 0000000..2c90da0 --- /dev/null +++ b/src/application/mystic/forum/attributes/NotNull.php @@ -0,0 +1,6 @@ +<?php + +namespace mystic\forum\attributes; + +#[\Attribute(\Attribute::TARGET_PROPERTY)] +class NotNull {} diff --git a/src/application/mystic/forum/attributes/PrimaryKey.php b/src/application/mystic/forum/attributes/PrimaryKey.php new file mode 100644 index 0000000..a8f0fc7 --- /dev/null +++ b/src/application/mystic/forum/attributes/PrimaryKey.php @@ -0,0 +1,6 @@ +<?php + +namespace mystic\forum\attributes; + +#[\Attribute(\Attribute::TARGET_PROPERTY)] +class PrimaryKey {} diff --git a/src/application/mystic/forum/attributes/References.php b/src/application/mystic/forum/attributes/References.php new file mode 100644 index 0000000..ac431ff --- /dev/null +++ b/src/application/mystic/forum/attributes/References.php @@ -0,0 +1,15 @@ +<?php + +namespace mystic\forum\attributes; + +#[\Attribute(\Attribute::TARGET_PROPERTY)] +class References { + public function __construct( + public readonly string $foreignTableName, + public readonly ?string $foreignColumnName = null, + ) {} + + public function __toString(): string { + return $this->foreignTableName . ($this->foreignColumnName !== null ? " ({$this->foreignColumnName})" : ""); + } +} diff --git a/src/application/mystic/forum/attributes/Table.php b/src/application/mystic/forum/attributes/Table.php new file mode 100644 index 0000000..60fe1ae --- /dev/null +++ b/src/application/mystic/forum/attributes/Table.php @@ -0,0 +1,10 @@ +<?php + +namespace mystic\forum\attributes; + +#[\Attribute(\Attribute::TARGET_CLASS)] +class Table { + public function __construct( + public readonly string $tableName, + ) {} +} |