‪TYPO3CMS  11.5
Post.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
23 
28 {
32  protected ‪$blog;
33 
38  protected ‪$title = '';
39 
43  protected ‪$date;
44 
48  protected ‪$author;
49 
53  protected ‪$secondAuthor;
54 
58  protected ‪$reviewer;
59 
64  protected ‪$content = '';
65 
69  protected ‪$tags;
70 
74  protected ‪$categories;
75 
81  protected ‪$comments;
82 
87  protected ‪$relatedPosts;
88 
93  protected ‪$additionalName;
94 
99  protected ‪$additionalInfo;
100 
106  protected ‪$additionalComments;
107 
111  public function ‪__construct()
112  {
113  $this->tags = new ‪ObjectStorage();
114  $this->categories = new ‪ObjectStorage();
115  $this->comments = new ‪ObjectStorage();
116  $this->relatedPosts = new ‪ObjectStorage();
117  $this->date = new \DateTime();
118  $this->additionalComments = new ‪ObjectStorage();
119  }
120 
126  public function ‪setBlog(‪Blog ‪$blog): void
127  {
128  $this->blog = ‪$blog;
129  }
130 
136  public function ‪getBlog(): ?Blog
137  {
138  return ‪$this->blog;
139  }
140 
146  public function ‪setTitle(‪$title): void
147  {
148  $this->title = ‪$title;
149  }
150 
156  public function ‪getTitle(): string
157  {
158  return ‪$this->title;
159  }
160 
166  public function ‪setDate(\DateTime ‪$date): void
167  {
168  $this->date = ‪$date;
169  }
170 
177  public function ‪getDate(): \DateTime
178  {
179  return ‪$this->date;
180  }
181 
187  public function ‪setTags(ObjectStorage ‪$tags): void
188  {
189  $this->tags = ‪$tags;
190  }
191 
197  public function ‪addTag(Tag $tag): void
198  {
199  $this->tags->attach($tag);
200  }
201 
207  public function ‪removeTag(‪Tag $tag): void
208  {
209  $this->tags->detach($tag);
210  }
211 
215  public function ‪removeAllTags(): void
216  {
217  $this->tags = new ‪ObjectStorage();
218  }
219 
226  public function ‪getTags(): ObjectStorage
227  {
228  return clone ‪$this->tags;
229  }
230 
236  public function ‪addCategory(Category $category): void
237  {
238  $this->categories->attach($category);
239  }
240 
246  public function ‪setCategories(‪$categories): void
247  {
248  $this->categories = ‪$categories;
249  }
250 
256  public function ‪getCategories(): ObjectStorage
257  {
258  return ‪$this->categories;
259  }
260 
266  public function ‪removeCategory(Category $category): void
267  {
268  $this->categories->detach($category);
269  }
270 
276  public function ‪setAuthor(Person ‪$author): void
277  {
278  $this->author = ‪$author;
279  }
280 
286  public function ‪getAuthor(): ?‪Person
287  {
289  }
290 
294  public function ‪getSecondAuthor(): ?‪Person
295  {
297  }
298 
302  public function ‪setSecondAuthor(‪Person ‪$secondAuthor): void
303  {
304  $this->secondAuthor = ‪$secondAuthor;
305  }
306 
310  public function ‪getReviewer(): ?‪Person
311  {
312  return ‪$this->reviewer;
313  }
314 
318  public function ‪setReviewer(‪Person ‪$reviewer): void
319  {
320  $this->reviewer = ‪$reviewer;
321  }
322 
328  public function ‪setContent(‪$content): void
329  {
330  $this->content = ‪$content;
331  }
332 
338  public function ‪getContent(): string
339  {
340  return ‪$this->content;
341  }
342 
348  public function ‪setComments(ObjectStorage ‪$comments): void
349  {
350  $this->comments = ‪$comments;
351  }
352 
358  public function ‪addComment(Comment $comment): void
359  {
360  $this->comments->attach($comment);
361  }
362 
368  public function ‪removeComment(‪Comment $commentToDelete): void
369  {
370  $this->comments->detach($commentToDelete);
371  }
372 
376  public function ‪removeAllComments(): void
377  {
379  $this->comments->removeAll(‪$comments);
380  }
381 
387  public function ‪getComments(): ObjectStorage
388  {
389  return ‪$this->comments;
390  }
391 
397  public function ‪setRelatedPosts(ObjectStorage ‪$relatedPosts): void
398  {
399  $this->relatedPosts = ‪$relatedPosts;
400  }
401 
407  public function ‪addRelatedPost(‪Post $post): void
408  {
409  $this->relatedPosts->attach($post);
410  }
411 
415  public function ‪removeAllRelatedPosts(): void
416  {
418  $this->relatedPosts->removeAll(‪$relatedPosts);
419  }
420 
426  public function ‪getRelatedPosts(): ‪ObjectStorage
427  {
429  }
430 
434  public function ‪getAdditionalName(): ?‪Info
435  {
437  }
438 
442  public function ‪setAdditionalName(‪Info ‪$additionalName): void
443  {
444  $this->additionalName = ‪$additionalName;
445  }
446 
450  public function ‪getAdditionalInfo(): ?‪Info
451  {
453  }
454 
458  public function ‪setAdditionalInfo(‪Info ‪$additionalInfo): void
459  {
460  $this->additionalInfo = ‪$additionalInfo;
461  }
462 
466  public function ‪getAdditionalComments(): ‪ObjectStorage
467  {
469  }
470 
475  {
476  $this->additionalComments = ‪$additionalComments;
477  }
478 
482  public function ‪addAdditionalComment(‪Comment $comment): void
483  {
484  $this->additionalComments->attach($comment);
485  }
486 
490  public function ‪removeAllAdditionalComments(): void
491  {
493  $this->additionalComments->removeAll(‪$comments);
494  }
495 
499  public function ‪removeAdditionalComment(‪Comment $comment): void
500  {
501  $this->additionalComments->detach($comment);
502  }
503 
509  public function ‪__toString()
510  {
511  return $this->title . chr(10) .
512  ' written on ' . $this->date->format('Y-m-d') . chr(10) .
513  ' by ' . $this->author->getFullName() . chr(10) .
514  wordwrap($this->content, 70, chr(10)) . chr(10) .
515  implode(', ', $this->tags->toArray());
516  }
517 }
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getComments
‪TYPO3 CMS Extbase Persistence ObjectStorage getComments()
Definition: Post.php:373
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setComments
‪setComments(ObjectStorage $comments)
Definition: Post.php:334
‪ExtbaseTeam\BlogExample\Domain\Model\Category
Definition: Category.php:28
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setAdditionalName
‪setAdditionalName(Info $additionalName)
Definition: Post.php:428
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setSecondAuthor
‪setSecondAuthor(Person $secondAuthor)
Definition: Post.php:288
‪TYPO3\CMS\Extbase\Annotation
Definition: IgnoreValidation.php:18
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$author
‪Person $author
Definition: Post.php:44
‪ExtbaseTeam\BlogExample\Domain\Model\Post\addAdditionalComment
‪addAdditionalComment(Comment $comment)
Definition: Post.php:468
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$relatedPosts
‪TYPO3 CMS Extbase Persistence ObjectStorage< Post > $relatedPosts
Definition: Post.php:76
‪ExtbaseTeam\BlogExample\Domain\Model\Post\removeComment
‪removeComment(Comment $commentToDelete)
Definition: Post.php:354
‪ExtbaseTeam\BlogExample\Domain\Model\Post\addComment
‪addComment(Comment $comment)
Definition: Post.php:344
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$title
‪string $title
Definition: Post.php:36
‪ExtbaseTeam\BlogExample\Domain\Model\Post\removeCategory
‪removeCategory(Category $category)
Definition: Post.php:252
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getAuthor
‪Person null getAuthor()
Definition: Post.php:272
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$content
‪string $content
Definition: Post.php:57
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getRelatedPosts
‪TYPO3 CMS Extbase Persistence ObjectStorage getRelatedPosts()
Definition: Post.php:412
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$date
‪DateTime $date
Definition: Post.php:40
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setTitle
‪setTitle($title)
Definition: Post.php:132
‪ExtbaseTeam\BlogExample\Domain\Model\Info
Definition: Info.php:26
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$tags
‪TYPO3 CMS Extbase Persistence ObjectStorage< Tag > $tags
Definition: Post.php:61
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getTitle
‪string getTitle()
Definition: Post.php:142
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getContent
‪string getContent()
Definition: Post.php:324
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setRelatedPosts
‪setRelatedPosts(ObjectStorage $relatedPosts)
Definition: Post.php:383
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$additionalInfo
‪ExtbaseTeam BlogExample Domain Model Info $additionalInfo
Definition: Post.php:86
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setAuthor
‪setAuthor(Person $author)
Definition: Post.php:262
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setAdditionalInfo
‪setAdditionalInfo(Info $additionalInfo)
Definition: Post.php:444
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$categories
‪TYPO3 CMS Extbase Persistence ObjectStorage< Category > $categories
Definition: Post.php:65
‪TYPO3\CMS\Extbase\DomainObject\AbstractEntity
Definition: AbstractEntity.php:22
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setDate
‪setDate(\DateTime $date)
Definition: Post.php:152
‪ExtbaseTeam\BlogExample\Domain\Model\Post\removeAllAdditionalComments
‪removeAllAdditionalComments()
Definition: Post.php:476
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getReviewer
‪Person null getReviewer()
Definition: Post.php:296
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getAdditionalName
‪Info getAdditionalName()
Definition: Post.php:420
‪TYPO3\CMS\Extbase\Persistence\ObjectStorage
Definition: ObjectStorage.php:32
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getCategories
‪TYPO3 CMS Extbase Persistence ObjectStorage getCategories()
Definition: Post.php:242
‪ExtbaseTeam\BlogExample\Domain\Model\Post\removeAdditionalComment
‪removeAdditionalComment(Comment $comment)
Definition: Post.php:485
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setReviewer
‪setReviewer(Person $reviewer)
Definition: Post.php:304
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$secondAuthor
‪Person $secondAuthor
Definition: Post.php:48
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setTags
‪setTags(ObjectStorage $tags)
Definition: Post.php:173
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getBlog
‪ExtbaseTeam BlogExample Domain Model Blog null getBlog()
Definition: Post.php:122
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setBlog
‪setBlog(Blog $blog)
Definition: Post.php:112
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getTags
‪TYPO3 CMS Extbase Persistence ObjectStorage getTags()
Definition: Post.php:212
‪ExtbaseTeam\BlogExample\Domain\Model\Post\addRelatedPost
‪addRelatedPost(Post $post)
Definition: Post.php:393
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getAdditionalInfo
‪Info getAdditionalInfo()
Definition: Post.php:436
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$blog
‪ExtbaseTeam BlogExample Domain Model Blog $blog
Definition: Post.php:31
‪ExtbaseTeam\BlogExample\Domain\Model\Post\__construct
‪__construct()
Definition: Post.php:97
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$additionalComments
‪TYPO3 CMS Extbase Persistence ObjectStorage< Comment > $additionalComments
Definition: Post.php:92
‪ExtbaseTeam\BlogExample\Domain\Model\Blog
Definition: Blog.php:29
‪ExtbaseTeam\BlogExample\Domain\Model\Post
Definition: Post.php:28
‪ExtbaseTeam\BlogExample\Domain\Model\Comment
Definition: Comment.php:27
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getDate
‪DateTime getDate()
Definition: Post.php:163
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setContent
‪setContent($content)
Definition: Post.php:314
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$reviewer
‪Person $reviewer
Definition: Post.php:52
‪ExtbaseTeam\BlogExample\Domain\Model\Post\removeTag
‪removeTag(Tag $tag)
Definition: Post.php:193
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$comments
‪TYPO3 CMS Extbase Persistence ObjectStorage< Comment > $comments
Definition: Post.php:71
‪ExtbaseTeam\BlogExample\Domain\Model\Person
Definition: Person.php:27
‪ExtbaseTeam\BlogExample\Domain\Model\Post\removeAllComments
‪removeAllComments()
Definition: Post.php:362
‪ExtbaseTeam\BlogExample\Domain\Model\Post\addTag
‪addTag(Tag $tag)
Definition: Post.php:183
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setCategories
‪setCategories($categories)
Definition: Post.php:232
‪ExtbaseTeam\BlogExample\Domain\Model\Post\__toString
‪string __toString()
Definition: Post.php:495
‪ExtbaseTeam\BlogExample\Domain\Model\Post\$additionalName
‪ExtbaseTeam BlogExample Domain Model Info $additionalName
Definition: Post.php:81
‪ExtbaseTeam\BlogExample\Domain\Model
Definition: Administrator.php:18
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getSecondAuthor
‪Person getSecondAuthor()
Definition: Post.php:280
‪ExtbaseTeam\BlogExample\Domain\Model\Post\setAdditionalComments
‪setAdditionalComments(ObjectStorage $additionalComments)
Definition: Post.php:460
‪ExtbaseTeam\BlogExample\Domain\Model\Post\getAdditionalComments
‪TYPO3 CMS Extbase Persistence ObjectStorage getAdditionalComments()
Definition: Post.php:452
‪ExtbaseTeam\BlogExample\Domain\Model\Post\removeAllRelatedPosts
‪removeAllRelatedPosts()
Definition: Post.php:401
‪ExtbaseTeam\BlogExample\Domain\Model\Post\addCategory
‪addCategory(Category $category)
Definition: Post.php:222
‪ExtbaseTeam\BlogExample\Domain\Model\Tag
Definition: Tag.php:26
‪ExtbaseTeam\BlogExample\Domain\Model\Post\removeAllTags
‪removeAllTags()
Definition: Post.php:201