diff --git a/src/Entity/Blog/Comment.php b/src/Entity/Blog/Comment.php index d78f2e0..c7cac7f 100644 --- a/src/Entity/Blog/Comment.php +++ b/src/Entity/Blog/Comment.php @@ -3,11 +3,10 @@ declare(strict_types=1); namespace App\Entity\Blog; -use App\Entity\Blog\File; -use App\Entity\Blog\Post; use App\Entity\User; use App\Repository\Blog\CommentRepository; use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: CommentRepository::class)] @@ -43,20 +42,20 @@ class Comment #[ORM\JoinColumn(name: 'author_id')] private User $author; - /** @var ArrayCollection|File[] */ + /** @var Collection */ #[ORM\ManyToMany(targetEntity: File::class, fetch: 'EXTRA_LAZY')] #[ORM\JoinTable(name: 'comments_files', schema: 'posts')] #[ORM\JoinColumn(name: 'comment_id')] #[ORM\InverseJoinColumn(name: 'file_id')] - private ArrayCollection $files; + private Collection $files; #[ORM\ManyToOne(targetEntity: self::class, inversedBy: 'children')] #[ORM\JoinColumn(name: 'parent_id', nullable: true)] private ?self $parent; - /** @var ArrayCollection|self[] */ + /** @var Collection */ #[ORM\OneToMany(mappedBy: 'parent', targetEntity: self::class, fetch: 'EXTRA_LAZY')] - private ArrayCollection $children; + private Collection $children; public function __construct() @@ -159,10 +158,8 @@ class Comment $this->files->removeElement($files); } - /** - * @return File[]|ArrayCollection - */ - public function getFiles(): iterable + /** @return Collection */ + public function getFiles(): Collection { return $this->files; } @@ -208,8 +205,8 @@ class Comment $this->children->removeElement($children); } - /** @return ArrayCollection|self[] */ - public function getChildren(): iterable + /** @return Collection */ + public function getChildren(): Collection { return $this->children; } diff --git a/src/Entity/Blog/Post.php b/src/Entity/Blog/Post.php index 2d8ff69..b8f22b4 100644 --- a/src/Entity/Blog/Post.php +++ b/src/Entity/Blog/Post.php @@ -6,6 +6,7 @@ namespace App\Entity\Blog; use App\Entity\User; use App\Repository\Blog\TagRepository; use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: TagRepository::class)] @@ -29,6 +30,7 @@ class Post #[ORM\Column(name: 'updated_at', type: 'datetime', nullable: true)] private ?\DateTime $updatedAt; + // TODO: Native Enum #[ORM\Column(name: 'type', type: 'string', length: 6)] private string $type = self::TYPE_POST; @@ -42,19 +44,20 @@ class Post #[ORM\JoinColumn(name: 'author')] private User $author; - /** @var ArrayCollection|File[] */ + /** @var Collection */ #[ORM\ManyToMany(targetEntity: File::class, cascade: ['persist'], fetch: 'EXTRA_LAZY')] #[ORM\JoinTable(name: 'posts_files', schema: 'posts')] #[ORM\JoinColumn(name: 'post_id')] #[ORM\InverseJoinColumn(name: 'file_id')] - private $files; + private Collection $files; + /** @var Collection */ #[ORM\OneToMany(mappedBy: 'post', targetEntity: PostTag::class, cascade: ['persist'], fetch: 'EXTRA_LAZY', orphanRemoval: true)] - private ArrayCollection $postTags; + private Collection $postTags; - /** @var ArrayCollection|Comment[] */ - #[ORM\OneToMany(targetEntity: Comment::class, mappedBy: 'post', cascade: ['persist'], )] - private ArrayCollection $comments; + /** @var Collection */ + #[ORM\OneToMany(mappedBy: 'post', targetEntity: Comment::class, cascade: ['persist'])] + private Collection $comments; public function __construct(string $id, User $author, \DateTime $createdAt, string $type) @@ -124,8 +127,8 @@ class Post $this->files->removeElement($files); } - /** @return File[]|ArrayCollection */ - public function getFiles(): iterable + /** @return Collection */ + public function getFiles(): Collection { return $this->files; } @@ -142,8 +145,8 @@ class Post $this->postTags->removeElement($tag); } - /** @return PostTag[]|ArrayCollection */ - public function getPostTags(): iterable + /** @return Collection */ + public function getPostTags(): Collection { return $this->postTags; } @@ -195,8 +198,8 @@ class Post $this->comments->removeElement($comment); } - /** @return Comment[]|ArrayCollection */ - public function getComments(): iterable + /** @return Collection */ + public function getComments(): Collection { return $this->comments; } diff --git a/src/Entity/User.php b/src/Entity/User.php index a4e17bc..bb7c1f2 100644 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -6,6 +6,7 @@ namespace App\Entity; use App\Repository\UserRepository; use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: UserRepository::class)] @@ -41,14 +42,17 @@ class User #[ORM\Column(name: 'whitelist_only', type: 'boolean', nullable: false, options: ['default' => false])] private bool $whitelistOnly = false; + /** @var Collection */ #[ORM\OneToMany(mappedBy: 'author', targetEntity: Subscription::class, fetch: 'EXTRA_LAZY')] - private ArrayCollection $subscribers; + private Collection $subscribers; + /** @var Collection */ #[ORM\OneToMany(mappedBy: 'subscriber', targetEntity: Subscription::class, fetch: 'EXTRA_LAZY')] - private ArrayCollection $subscriptions; + private Collection $subscriptions; + /** @var Collection */ #[ORM\OneToMany(mappedBy: 'author', targetEntity: SubscriptionEvent::class, fetch: 'EXTRA_LAZY')] - private ArrayCollection $newSubscriberEvents; + private Collection $newSubscriberEvents; #[ORM\Column(name: 'is_removed', type: 'boolean', options: ['default' => false])] private bool $removed = false; @@ -110,14 +114,14 @@ class User $this->subscribers->removeElement($subscribers); } - /** @return Subscription[]|ArrayCollection */ - public function getSubscribers(): ArrayCollection + /** @return Collection */ + public function getSubscribers(): Collection { return $this->subscribers; } - /** @return Subscription[]|ArrayCollection */ - public function getSubscriptions(): ArrayCollection + /** @return Collection */ + public function getSubscriptions(): Collection { return $this->subscriptions; } @@ -129,8 +133,8 @@ class User return $this; } - /** @return SubscriptionEvent[]|ArrayCollection */ - public function getNewSubscriberEvents(): ArrayCollection + /** @return Collection */ + public function getNewSubscriberEvents(): Collection { return $this->newSubscriberEvents; }