From 41dd9db4aa4a1e52d4007710bbf6b169e7e355c9 Mon Sep 17 00:00:00 2001 From: Alex Cabal Date: Sat, 4 May 2024 13:07:03 -0500 Subject: [PATCH] Change Accessor from class to trait --- lib/Artist.php | 6 ++++-- lib/Artwork.php | 4 +++- lib/Museum.php | 4 +++- lib/NewsletterSubscription.php | 4 +++- lib/Patron.php | 4 +++- lib/Payment.php | 4 +++- lib/Poll.php | 4 +++- lib/PollItem.php | 4 +++- lib/PollVote.php | 4 +++- lib/Session.php | 4 +++- lib/Tag.php | 4 +++- lib/{ => Traits}/Accessor.php | 15 +++++---------- lib/User.php | 6 ++++-- 13 files changed, 43 insertions(+), 24 deletions(-) rename lib/{ => Traits}/Accessor.php (84%) diff --git a/lib/Artist.php b/lib/Artist.php index 756c961f..4462525f 100644 --- a/lib/Artist.php +++ b/lib/Artist.php @@ -8,7 +8,9 @@ use Safe\DateTimeImmutable; * @property array $AlternateNames * @property array $_AlternateNames */ -class Artist extends Accessor{ +class Artist{ + use Traits\Accessor; + public ?int $ArtistId = null; public ?string $Name = null; public ?DateTimeImmutable $Created = null; @@ -16,7 +18,7 @@ class Artist extends Accessor{ protected ?int $_DeathYear = null; protected ?string $_UrlName = null; protected ?string $_Url = null; - protected $_AlternateNames; + protected array $_AlternateNames; // ******* // SETTERS diff --git a/lib/Artwork.php b/lib/Artwork.php index 641f3847..07482984 100644 --- a/lib/Artwork.php +++ b/lib/Artwork.php @@ -25,7 +25,9 @@ use function Safe\preg_replace; * @property User $Submitter * @property User $Reviewer */ -class Artwork extends Accessor{ +class Artwork{ + use Traits\Accessor; + public ?string $Name = null; public ?int $ArtworkId = null; public ?int $ArtistId = null; diff --git a/lib/Museum.php b/lib/Museum.php index 6bec2d08..a1ae8edb 100644 --- a/lib/Museum.php +++ b/lib/Museum.php @@ -3,7 +3,9 @@ use function Safe\parse_url; use function Safe\preg_match; use function Safe\preg_replace; -class Museum extends Accessor{ +class Museum{ + use Traits\Accessor; + public int $MuseumId; public string $Name; public string $Domain; diff --git a/lib/NewsletterSubscription.php b/lib/NewsletterSubscription.php index 457c82e3..37fb33bd 100644 --- a/lib/NewsletterSubscription.php +++ b/lib/NewsletterSubscription.php @@ -5,7 +5,9 @@ use Safe\DateTimeImmutable; * @property User $User * @property string $Url */ -class NewsletterSubscription extends Accessor{ +class NewsletterSubscription{ + use Traits\Accessor; + public bool $IsConfirmed = false; public bool $IsSubscribedToSummary = false; public bool $IsSubscribedToNewsletter = false; diff --git a/lib/Patron.php b/lib/Patron.php index dbdf05b4..92c4f391 100644 --- a/lib/Patron.php +++ b/lib/Patron.php @@ -4,7 +4,9 @@ use Safe\DateTimeImmutable; /** * @property User $User */ -class Patron extends Accessor{ +class Patron{ + use Traits\Accessor; + public ?int $UserId = null; protected $_User = null; public bool $IsAnonymous; diff --git a/lib/Payment.php b/lib/Payment.php index b47c2ea3..bf518714 100644 --- a/lib/Payment.php +++ b/lib/Payment.php @@ -4,7 +4,9 @@ use Safe\DateTimeImmutable; /** * @property User $User */ -class Payment extends Accessor{ +class Payment{ + use Traits\Accessor; + public int $PaymentId; public ?int $UserId = null; public DateTimeImmutable $Created; diff --git a/lib/Poll.php b/lib/Poll.php index f024eb19..47c97db5 100644 --- a/lib/Poll.php +++ b/lib/Poll.php @@ -10,7 +10,9 @@ use function Safe\usort; * @property array $PollItemsByWinner * @property int $VoteCount */ -class Poll extends Accessor{ +class Poll{ + use Traits\Accessor; + public int $PollId; public string $Name; public string $UrlName; diff --git a/lib/PollItem.php b/lib/PollItem.php index 9d413bac..b0abb723 100644 --- a/lib/PollItem.php +++ b/lib/PollItem.php @@ -3,7 +3,9 @@ * @property int $VoteCount * @property Poll $Poll */ -class PollItem extends Accessor{ +class PollItem{ + use Traits\Accessor; + public int $PollItemId; public int $PollId; public string $Name; diff --git a/lib/PollVote.php b/lib/PollVote.php index 58be8183..199b9d3b 100644 --- a/lib/PollVote.php +++ b/lib/PollVote.php @@ -6,7 +6,9 @@ use Safe\DateTimeImmutable; * @property PollItem $PollItem * @property string $Url */ -class PollVote extends Accessor{ +class PollVote{ + use Traits\Accessor; + public ?int $UserId = null; public DateTimeImmutable $Created; public ?int $PollItemId = null; diff --git a/lib/Session.php b/lib/Session.php index 8e17c693..81121ed6 100644 --- a/lib/Session.php +++ b/lib/Session.php @@ -8,7 +8,9 @@ use function Safe\strtotime; * @property User $User * @property string $Url */ -class Session extends Accessor{ +class Session{ + use Traits\Accessor; + public int $UserId; protected ?User $_User = null; public DateTimeImmutable $Created; diff --git a/lib/Tag.php b/lib/Tag.php index ee960800..43465b0c 100644 --- a/lib/Tag.php +++ b/lib/Tag.php @@ -2,7 +2,9 @@ /** * @property string $Url */ -class Tag extends Accessor{ +class Tag{ + use Traits\Accessor; + public int $TagId; public string $Name; public string $UrlName; diff --git a/lib/Accessor.php b/lib/Traits/Accessor.php similarity index 84% rename from lib/Accessor.php rename to lib/Traits/Accessor.php index 5f334783..62a22fe8 100644 --- a/lib/Accessor.php +++ b/lib/Traits/Accessor.php @@ -1,9 +1,8 @@ $Payments + * @property array $Payments * @property ?bool $IsRegistered * @property Benefits $Benefits * @property ?array $_Payments */ -class User extends Accessor{ +class User{ + use Traits\Accessor; + public int $UserId; public ?string $Name = null; public ?string $Email = null;