Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
Complex classes like Map often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
While breaking up the class, it is a good idea to analyze how other classes use Map, and based on these observations, apply Extract Interface, too.
1 | <?php |
||
15 | View Code Duplication | class Map extends BaseType implements MapContract, CreativeWorkContract, ThingContract |
|
|
|||
16 | { |
||
17 | /** |
||
18 | * The subject matter of the content. |
||
19 | * |
||
20 | * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about |
||
21 | * |
||
22 | * @return static |
||
23 | * |
||
24 | * @see http://schema.org/about |
||
25 | */ |
||
26 | public function about($about) |
||
30 | |||
31 | /** |
||
32 | * The human sensory perceptual system or cognitive faculty through which a |
||
33 | * person may process or perceive information. Expected values include: |
||
34 | * auditory, tactile, textual, visual, colorDependent, chartOnVisual, |
||
35 | * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual. |
||
36 | * |
||
37 | * @param string|string[] $accessMode |
||
38 | * |
||
39 | * @return static |
||
40 | * |
||
41 | * @see http://schema.org/accessMode |
||
42 | */ |
||
43 | public function accessMode($accessMode) |
||
47 | |||
48 | /** |
||
49 | * A list of single or combined accessModes that are sufficient to |
||
50 | * understand all the intellectual content of a resource. Expected values |
||
51 | * include: auditory, tactile, textual, visual. |
||
52 | * |
||
53 | * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient |
||
54 | * |
||
55 | * @return static |
||
56 | * |
||
57 | * @see http://schema.org/accessModeSufficient |
||
58 | */ |
||
59 | public function accessModeSufficient($accessModeSufficient) |
||
63 | |||
64 | /** |
||
65 | * Indicates that the resource is compatible with the referenced |
||
66 | * accessibility API ([WebSchemas wiki lists possible |
||
67 | * values](http://www.w3.org/wiki/WebSchemas/Accessibility)). |
||
68 | * |
||
69 | * @param string|string[] $accessibilityAPI |
||
70 | * |
||
71 | * @return static |
||
72 | * |
||
73 | * @see http://schema.org/accessibilityAPI |
||
74 | */ |
||
75 | public function accessibilityAPI($accessibilityAPI) |
||
79 | |||
80 | /** |
||
81 | * Identifies input methods that are sufficient to fully control the |
||
82 | * described resource ([WebSchemas wiki lists possible |
||
83 | * values](http://www.w3.org/wiki/WebSchemas/Accessibility)). |
||
84 | * |
||
85 | * @param string|string[] $accessibilityControl |
||
86 | * |
||
87 | * @return static |
||
88 | * |
||
89 | * @see http://schema.org/accessibilityControl |
||
90 | */ |
||
91 | public function accessibilityControl($accessibilityControl) |
||
95 | |||
96 | /** |
||
97 | * Content features of the resource, such as accessible media, alternatives |
||
98 | * and supported enhancements for accessibility ([WebSchemas wiki lists |
||
99 | * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)). |
||
100 | * |
||
101 | * @param string|string[] $accessibilityFeature |
||
102 | * |
||
103 | * @return static |
||
104 | * |
||
105 | * @see http://schema.org/accessibilityFeature |
||
106 | */ |
||
107 | public function accessibilityFeature($accessibilityFeature) |
||
111 | |||
112 | /** |
||
113 | * A characteristic of the described resource that is physiologically |
||
114 | * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas |
||
115 | * wiki lists possible |
||
116 | * values](http://www.w3.org/wiki/WebSchemas/Accessibility)). |
||
117 | * |
||
118 | * @param string|string[] $accessibilityHazard |
||
119 | * |
||
120 | * @return static |
||
121 | * |
||
122 | * @see http://schema.org/accessibilityHazard |
||
123 | */ |
||
124 | public function accessibilityHazard($accessibilityHazard) |
||
128 | |||
129 | /** |
||
130 | * A human-readable summary of specific accessibility features or |
||
131 | * deficiencies, consistent with the other accessibility metadata but |
||
132 | * expressing subtleties such as "short descriptions are present but long |
||
133 | * descriptions will be needed for non-visual users" or "short descriptions |
||
134 | * are present and no long descriptions are needed." |
||
135 | * |
||
136 | * @param string|string[] $accessibilitySummary |
||
137 | * |
||
138 | * @return static |
||
139 | * |
||
140 | * @see http://schema.org/accessibilitySummary |
||
141 | */ |
||
142 | public function accessibilitySummary($accessibilitySummary) |
||
146 | |||
147 | /** |
||
148 | * Specifies the Person that is legally accountable for the CreativeWork. |
||
149 | * |
||
150 | * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson |
||
151 | * |
||
152 | * @return static |
||
153 | * |
||
154 | * @see http://schema.org/accountablePerson |
||
155 | */ |
||
156 | public function accountablePerson($accountablePerson) |
||
160 | |||
161 | /** |
||
162 | * An additional type for the item, typically used for adding more specific |
||
163 | * types from external vocabularies in microdata syntax. This is a |
||
164 | * relationship between something and a class that the thing is in. In RDFa |
||
165 | * syntax, it is better to use the native RDFa syntax - the 'typeof' |
||
166 | * attribute - for multiple types. Schema.org tools may have only weaker |
||
167 | * understanding of extra types, in particular those defined externally. |
||
168 | * |
||
169 | * @param string|string[] $additionalType |
||
170 | * |
||
171 | * @return static |
||
172 | * |
||
173 | * @see http://schema.org/additionalType |
||
174 | */ |
||
175 | public function additionalType($additionalType) |
||
179 | |||
180 | /** |
||
181 | * The overall rating, based on a collection of reviews or ratings, of the |
||
182 | * item. |
||
183 | * |
||
184 | * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating |
||
185 | * |
||
186 | * @return static |
||
187 | * |
||
188 | * @see http://schema.org/aggregateRating |
||
189 | */ |
||
190 | public function aggregateRating($aggregateRating) |
||
194 | |||
195 | /** |
||
196 | * An alias for the item. |
||
197 | * |
||
198 | * @param string|string[] $alternateName |
||
199 | * |
||
200 | * @return static |
||
201 | * |
||
202 | * @see http://schema.org/alternateName |
||
203 | */ |
||
204 | public function alternateName($alternateName) |
||
208 | |||
209 | /** |
||
210 | * A secondary title of the CreativeWork. |
||
211 | * |
||
212 | * @param string|string[] $alternativeHeadline |
||
213 | * |
||
214 | * @return static |
||
215 | * |
||
216 | * @see http://schema.org/alternativeHeadline |
||
217 | */ |
||
218 | public function alternativeHeadline($alternativeHeadline) |
||
222 | |||
223 | /** |
||
224 | * A media object that encodes this CreativeWork. This property is a synonym |
||
225 | * for encoding. |
||
226 | * |
||
227 | * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia |
||
228 | * |
||
229 | * @return static |
||
230 | * |
||
231 | * @see http://schema.org/associatedMedia |
||
232 | */ |
||
233 | public function associatedMedia($associatedMedia) |
||
237 | |||
238 | /** |
||
239 | * An intended audience, i.e. a group for whom something was created. |
||
240 | * |
||
241 | * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience |
||
242 | * |
||
243 | * @return static |
||
244 | * |
||
245 | * @see http://schema.org/audience |
||
246 | */ |
||
247 | public function audience($audience) |
||
251 | |||
252 | /** |
||
253 | * An embedded audio object. |
||
254 | * |
||
255 | * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio |
||
256 | * |
||
257 | * @return static |
||
258 | * |
||
259 | * @see http://schema.org/audio |
||
260 | */ |
||
261 | public function audio($audio) |
||
265 | |||
266 | /** |
||
267 | * The author of this content or rating. Please note that author is special |
||
268 | * in that HTML 5 provides a special mechanism for indicating authorship via |
||
269 | * the rel tag. That is equivalent to this and may be used interchangeably. |
||
270 | * |
||
271 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author |
||
272 | * |
||
273 | * @return static |
||
274 | * |
||
275 | * @see http://schema.org/author |
||
276 | */ |
||
277 | public function author($author) |
||
281 | |||
282 | /** |
||
283 | * An award won by or for this item. |
||
284 | * |
||
285 | * @param string|string[] $award |
||
286 | * |
||
287 | * @return static |
||
288 | * |
||
289 | * @see http://schema.org/award |
||
290 | */ |
||
291 | public function award($award) |
||
295 | |||
296 | /** |
||
297 | * Awards won by or for this item. |
||
298 | * |
||
299 | * @param string|string[] $awards |
||
300 | * |
||
301 | * @return static |
||
302 | * |
||
303 | * @see http://schema.org/awards |
||
304 | */ |
||
305 | public function awards($awards) |
||
309 | |||
310 | /** |
||
311 | * Fictional person connected with a creative work. |
||
312 | * |
||
313 | * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character |
||
314 | * |
||
315 | * @return static |
||
316 | * |
||
317 | * @see http://schema.org/character |
||
318 | */ |
||
319 | public function character($character) |
||
323 | |||
324 | /** |
||
325 | * A citation or reference to another creative work, such as another |
||
326 | * publication, web page, scholarly article, etc. |
||
327 | * |
||
328 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation |
||
329 | * |
||
330 | * @return static |
||
331 | * |
||
332 | * @see http://schema.org/citation |
||
333 | */ |
||
334 | public function citation($citation) |
||
338 | |||
339 | /** |
||
340 | * Comments, typically from users. |
||
341 | * |
||
342 | * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment |
||
343 | * |
||
344 | * @return static |
||
345 | * |
||
346 | * @see http://schema.org/comment |
||
347 | */ |
||
348 | public function comment($comment) |
||
352 | |||
353 | /** |
||
354 | * The number of comments this CreativeWork (e.g. Article, Question or |
||
355 | * Answer) has received. This is most applicable to works published in Web |
||
356 | * sites with commenting system; additional comments may exist elsewhere. |
||
357 | * |
||
358 | * @param int|int[] $commentCount |
||
359 | * |
||
360 | * @return static |
||
361 | * |
||
362 | * @see http://schema.org/commentCount |
||
363 | */ |
||
364 | public function commentCount($commentCount) |
||
368 | |||
369 | /** |
||
370 | * The location depicted or described in the content. For example, the |
||
371 | * location in a photograph or painting. |
||
372 | * |
||
373 | * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation |
||
374 | * |
||
375 | * @return static |
||
376 | * |
||
377 | * @see http://schema.org/contentLocation |
||
378 | */ |
||
379 | public function contentLocation($contentLocation) |
||
383 | |||
384 | /** |
||
385 | * Official rating of a piece of content—for example,'MPAA PG-13'. |
||
386 | * |
||
387 | * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating |
||
388 | * |
||
389 | * @return static |
||
390 | * |
||
391 | * @see http://schema.org/contentRating |
||
392 | */ |
||
393 | public function contentRating($contentRating) |
||
397 | |||
398 | /** |
||
399 | * A secondary contributor to the CreativeWork or Event. |
||
400 | * |
||
401 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor |
||
402 | * |
||
403 | * @return static |
||
404 | * |
||
405 | * @see http://schema.org/contributor |
||
406 | */ |
||
407 | public function contributor($contributor) |
||
411 | |||
412 | /** |
||
413 | * The party holding the legal copyright to the CreativeWork. |
||
414 | * |
||
415 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder |
||
416 | * |
||
417 | * @return static |
||
418 | * |
||
419 | * @see http://schema.org/copyrightHolder |
||
420 | */ |
||
421 | public function copyrightHolder($copyrightHolder) |
||
425 | |||
426 | /** |
||
427 | * The year during which the claimed copyright for the CreativeWork was |
||
428 | * first asserted. |
||
429 | * |
||
430 | * @param float|float[]|int|int[] $copyrightYear |
||
431 | * |
||
432 | * @return static |
||
433 | * |
||
434 | * @see http://schema.org/copyrightYear |
||
435 | */ |
||
436 | public function copyrightYear($copyrightYear) |
||
440 | |||
441 | /** |
||
442 | * The creator/author of this CreativeWork. This is the same as the Author |
||
443 | * property for CreativeWork. |
||
444 | * |
||
445 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator |
||
446 | * |
||
447 | * @return static |
||
448 | * |
||
449 | * @see http://schema.org/creator |
||
450 | */ |
||
451 | public function creator($creator) |
||
455 | |||
456 | /** |
||
457 | * The date on which the CreativeWork was created or the item was added to a |
||
458 | * DataFeed. |
||
459 | * |
||
460 | * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated |
||
461 | * |
||
462 | * @return static |
||
463 | * |
||
464 | * @see http://schema.org/dateCreated |
||
465 | */ |
||
466 | public function dateCreated($dateCreated) |
||
470 | |||
471 | /** |
||
472 | * The date on which the CreativeWork was most recently modified or when the |
||
473 | * item's entry was modified within a DataFeed. |
||
474 | * |
||
475 | * @param \DateTimeInterface|\DateTimeInterface[] $dateModified |
||
476 | * |
||
477 | * @return static |
||
478 | * |
||
479 | * @see http://schema.org/dateModified |
||
480 | */ |
||
481 | public function dateModified($dateModified) |
||
485 | |||
486 | /** |
||
487 | * Date of first broadcast/publication. |
||
488 | * |
||
489 | * @param \DateTimeInterface|\DateTimeInterface[] $datePublished |
||
490 | * |
||
491 | * @return static |
||
492 | * |
||
493 | * @see http://schema.org/datePublished |
||
494 | */ |
||
495 | public function datePublished($datePublished) |
||
499 | |||
500 | /** |
||
501 | * A description of the item. |
||
502 | * |
||
503 | * @param string|string[] $description |
||
504 | * |
||
505 | * @return static |
||
506 | * |
||
507 | * @see http://schema.org/description |
||
508 | */ |
||
509 | public function description($description) |
||
513 | |||
514 | /** |
||
515 | * A sub property of description. A short description of the item used to |
||
516 | * disambiguate from other, similar items. Information from other properties |
||
517 | * (in particular, name) may be necessary for the description to be useful |
||
518 | * for disambiguation. |
||
519 | * |
||
520 | * @param string|string[] $disambiguatingDescription |
||
521 | * |
||
522 | * @return static |
||
523 | * |
||
524 | * @see http://schema.org/disambiguatingDescription |
||
525 | */ |
||
526 | public function disambiguatingDescription($disambiguatingDescription) |
||
530 | |||
531 | /** |
||
532 | * A link to the page containing the comments of the CreativeWork. |
||
533 | * |
||
534 | * @param string|string[] $discussionUrl |
||
535 | * |
||
536 | * @return static |
||
537 | * |
||
538 | * @see http://schema.org/discussionUrl |
||
539 | */ |
||
540 | public function discussionUrl($discussionUrl) |
||
544 | |||
545 | /** |
||
546 | * Specifies the Person who edited the CreativeWork. |
||
547 | * |
||
548 | * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor |
||
549 | * |
||
550 | * @return static |
||
551 | * |
||
552 | * @see http://schema.org/editor |
||
553 | */ |
||
554 | public function editor($editor) |
||
558 | |||
559 | /** |
||
560 | * An alignment to an established educational framework. |
||
561 | * |
||
562 | * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment |
||
563 | * |
||
564 | * @return static |
||
565 | * |
||
566 | * @see http://schema.org/educationalAlignment |
||
567 | */ |
||
568 | public function educationalAlignment($educationalAlignment) |
||
572 | |||
573 | /** |
||
574 | * The purpose of a work in the context of education; for example, |
||
575 | * 'assignment', 'group work'. |
||
576 | * |
||
577 | * @param string|string[] $educationalUse |
||
578 | * |
||
579 | * @return static |
||
580 | * |
||
581 | * @see http://schema.org/educationalUse |
||
582 | */ |
||
583 | public function educationalUse($educationalUse) |
||
587 | |||
588 | /** |
||
589 | * A media object that encodes this CreativeWork. This property is a synonym |
||
590 | * for associatedMedia. |
||
591 | * |
||
592 | * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding |
||
593 | * |
||
594 | * @return static |
||
595 | * |
||
596 | * @see http://schema.org/encoding |
||
597 | */ |
||
598 | public function encoding($encoding) |
||
602 | |||
603 | /** |
||
604 | * Media type typically expressed using a MIME format (see [IANA |
||
605 | * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and |
||
606 | * [MDN |
||
607 | * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)) |
||
608 | * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for |
||
609 | * .mp3 etc.). |
||
610 | * |
||
611 | * In cases where a [[CreativeWork]] has several media type representations, |
||
612 | * [[encoding]] can be used to indicate each [[MediaObject]] alongside |
||
613 | * particular [[encodingFormat]] information. |
||
614 | * |
||
615 | * Unregistered or niche encoding and file formats can be indicated instead |
||
616 | * via the most appropriate URL, e.g. defining Web page or a |
||
617 | * Wikipedia/Wikidata entry. |
||
618 | * |
||
619 | * @param string|string[] $encodingFormat |
||
620 | * |
||
621 | * @return static |
||
622 | * |
||
623 | * @see http://schema.org/encodingFormat |
||
624 | */ |
||
625 | public function encodingFormat($encodingFormat) |
||
629 | |||
630 | /** |
||
631 | * A media object that encodes this CreativeWork. |
||
632 | * |
||
633 | * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings |
||
634 | * |
||
635 | * @return static |
||
636 | * |
||
637 | * @see http://schema.org/encodings |
||
638 | */ |
||
639 | public function encodings($encodings) |
||
643 | |||
644 | /** |
||
645 | * A creative work that this work is an |
||
646 | * example/instance/realization/derivation of. |
||
647 | * |
||
648 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork |
||
649 | * |
||
650 | * @return static |
||
651 | * |
||
652 | * @see http://schema.org/exampleOfWork |
||
653 | */ |
||
654 | public function exampleOfWork($exampleOfWork) |
||
658 | |||
659 | /** |
||
660 | * Date the content expires and is no longer useful or available. For |
||
661 | * example a [[VideoObject]] or [[NewsArticle]] whose availability or |
||
662 | * relevance is time-limited, or a [[ClaimReview]] fact check whose |
||
663 | * publisher wants to indicate that it may no longer be relevant (or helpful |
||
664 | * to highlight) after some date. |
||
665 | * |
||
666 | * @param \DateTimeInterface|\DateTimeInterface[] $expires |
||
667 | * |
||
668 | * @return static |
||
669 | * |
||
670 | * @see http://schema.org/expires |
||
671 | */ |
||
672 | public function expires($expires) |
||
676 | |||
677 | /** |
||
678 | * Media type, typically MIME format (see [IANA |
||
679 | * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of |
||
680 | * the content e.g. application/zip of a SoftwareApplication binary. In |
||
681 | * cases where a CreativeWork has several media type representations, |
||
682 | * 'encoding' can be used to indicate each MediaObject alongside particular |
||
683 | * fileFormat information. Unregistered or niche file formats can be |
||
684 | * indicated instead via the most appropriate URL, e.g. defining Web page or |
||
685 | * a Wikipedia entry. |
||
686 | * |
||
687 | * @param string|string[] $fileFormat |
||
688 | * |
||
689 | * @return static |
||
690 | * |
||
691 | * @see http://schema.org/fileFormat |
||
692 | */ |
||
693 | public function fileFormat($fileFormat) |
||
697 | |||
698 | /** |
||
699 | * A person or organization that supports (sponsors) something through some |
||
700 | * kind of financial contribution. |
||
701 | * |
||
702 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder |
||
703 | * |
||
704 | * @return static |
||
705 | * |
||
706 | * @see http://schema.org/funder |
||
707 | */ |
||
708 | public function funder($funder) |
||
712 | |||
713 | /** |
||
714 | * Genre of the creative work, broadcast channel or group. |
||
715 | * |
||
716 | * @param string|string[] $genre |
||
717 | * |
||
718 | * @return static |
||
719 | * |
||
720 | * @see http://schema.org/genre |
||
721 | */ |
||
722 | public function genre($genre) |
||
726 | |||
727 | /** |
||
728 | * Indicates an item or CreativeWork that is part of this item, or |
||
729 | * CreativeWork (in some sense). |
||
730 | * |
||
731 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart |
||
732 | * |
||
733 | * @return static |
||
734 | * |
||
735 | * @see http://schema.org/hasPart |
||
736 | */ |
||
737 | public function hasPart($hasPart) |
||
741 | |||
742 | /** |
||
743 | * Headline of the article. |
||
744 | * |
||
745 | * @param string|string[] $headline |
||
746 | * |
||
747 | * @return static |
||
748 | * |
||
749 | * @see http://schema.org/headline |
||
750 | */ |
||
751 | public function headline($headline) |
||
755 | |||
756 | /** |
||
757 | * The identifier property represents any kind of identifier for any kind of |
||
758 | * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides |
||
759 | * dedicated properties for representing many of these, either as textual |
||
760 | * strings or as URL (URI) links. See [background |
||
761 | * notes](/docs/datamodel.html#identifierBg) for more details. |
||
762 | * |
||
763 | * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier |
||
764 | * |
||
765 | * @return static |
||
766 | * |
||
767 | * @see http://schema.org/identifier |
||
768 | */ |
||
769 | public function identifier($identifier) |
||
773 | |||
774 | /** |
||
775 | * An image of the item. This can be a [[URL]] or a fully described |
||
776 | * [[ImageObject]]. |
||
777 | * |
||
778 | * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image |
||
779 | * |
||
780 | * @return static |
||
781 | * |
||
782 | * @see http://schema.org/image |
||
783 | */ |
||
784 | public function image($image) |
||
788 | |||
789 | /** |
||
790 | * The language of the content or performance or used in an action. Please |
||
791 | * use one of the language codes from the [IETF BCP 47 |
||
792 | * standard](http://tools.ietf.org/html/bcp47). See also |
||
793 | * [[availableLanguage]]. |
||
794 | * |
||
795 | * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage |
||
796 | * |
||
797 | * @return static |
||
798 | * |
||
799 | * @see http://schema.org/inLanguage |
||
800 | */ |
||
801 | public function inLanguage($inLanguage) |
||
805 | |||
806 | /** |
||
807 | * The number of interactions for the CreativeWork using the WebSite or |
||
808 | * SoftwareApplication. The most specific child type of InteractionCounter |
||
809 | * should be used. |
||
810 | * |
||
811 | * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic |
||
812 | * |
||
813 | * @return static |
||
814 | * |
||
815 | * @see http://schema.org/interactionStatistic |
||
816 | */ |
||
817 | public function interactionStatistic($interactionStatistic) |
||
821 | |||
822 | /** |
||
823 | * The predominant mode of learning supported by the learning resource. |
||
824 | * Acceptable values are 'active', 'expositive', or 'mixed'. |
||
825 | * |
||
826 | * @param string|string[] $interactivityType |
||
827 | * |
||
828 | * @return static |
||
829 | * |
||
830 | * @see http://schema.org/interactivityType |
||
831 | */ |
||
832 | public function interactivityType($interactivityType) |
||
836 | |||
837 | /** |
||
838 | * A flag to signal that the item, event, or place is accessible for free. |
||
839 | * |
||
840 | * @param bool|bool[] $isAccessibleForFree |
||
841 | * |
||
842 | * @return static |
||
843 | * |
||
844 | * @see http://schema.org/isAccessibleForFree |
||
845 | */ |
||
846 | public function isAccessibleForFree($isAccessibleForFree) |
||
850 | |||
851 | /** |
||
852 | * A resource from which this work is derived or from which it is a |
||
853 | * modification or adaption. |
||
854 | * |
||
855 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn |
||
856 | * |
||
857 | * @return static |
||
858 | * |
||
859 | * @see http://schema.org/isBasedOn |
||
860 | */ |
||
861 | public function isBasedOn($isBasedOn) |
||
865 | |||
866 | /** |
||
867 | * A resource that was used in the creation of this resource. This term can |
||
868 | * be repeated for multiple sources. For example, |
||
869 | * http://example.com/great-multiplication-intro.html. |
||
870 | * |
||
871 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl |
||
872 | * |
||
873 | * @return static |
||
874 | * |
||
875 | * @see http://schema.org/isBasedOnUrl |
||
876 | */ |
||
877 | public function isBasedOnUrl($isBasedOnUrl) |
||
881 | |||
882 | /** |
||
883 | * Indicates whether this content is family friendly. |
||
884 | * |
||
885 | * @param bool|bool[] $isFamilyFriendly |
||
886 | * |
||
887 | * @return static |
||
888 | * |
||
889 | * @see http://schema.org/isFamilyFriendly |
||
890 | */ |
||
891 | public function isFamilyFriendly($isFamilyFriendly) |
||
895 | |||
896 | /** |
||
897 | * Indicates an item or CreativeWork that this item, or CreativeWork (in |
||
898 | * some sense), is part of. |
||
899 | * |
||
900 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf |
||
901 | * |
||
902 | * @return static |
||
903 | * |
||
904 | * @see http://schema.org/isPartOf |
||
905 | */ |
||
906 | public function isPartOf($isPartOf) |
||
910 | |||
911 | /** |
||
912 | * Keywords or tags used to describe this content. Multiple entries in a |
||
913 | * keywords list are typically delimited by commas. |
||
914 | * |
||
915 | * @param string|string[] $keywords |
||
916 | * |
||
917 | * @return static |
||
918 | * |
||
919 | * @see http://schema.org/keywords |
||
920 | */ |
||
921 | public function keywords($keywords) |
||
925 | |||
926 | /** |
||
927 | * The predominant type or kind characterizing the learning resource. For |
||
928 | * example, 'presentation', 'handout'. |
||
929 | * |
||
930 | * @param string|string[] $learningResourceType |
||
931 | * |
||
932 | * @return static |
||
933 | * |
||
934 | * @see http://schema.org/learningResourceType |
||
935 | */ |
||
936 | public function learningResourceType($learningResourceType) |
||
940 | |||
941 | /** |
||
942 | * A license document that applies to this content, typically indicated by |
||
943 | * URL. |
||
944 | * |
||
945 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license |
||
946 | * |
||
947 | * @return static |
||
948 | * |
||
949 | * @see http://schema.org/license |
||
950 | */ |
||
951 | public function license($license) |
||
955 | |||
956 | /** |
||
957 | * The location where the CreativeWork was created, which may not be the |
||
958 | * same as the location depicted in the CreativeWork. |
||
959 | * |
||
960 | * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated |
||
961 | * |
||
962 | * @return static |
||
963 | * |
||
964 | * @see http://schema.org/locationCreated |
||
965 | */ |
||
966 | public function locationCreated($locationCreated) |
||
970 | |||
971 | /** |
||
972 | * Indicates the primary entity described in some page or other |
||
973 | * CreativeWork. |
||
974 | * |
||
975 | * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity |
||
976 | * |
||
977 | * @return static |
||
978 | * |
||
979 | * @see http://schema.org/mainEntity |
||
980 | */ |
||
981 | public function mainEntity($mainEntity) |
||
985 | |||
986 | /** |
||
987 | * Indicates a page (or other CreativeWork) for which this thing is the main |
||
988 | * entity being described. See [background |
||
989 | * notes](/docs/datamodel.html#mainEntityBackground) for details. |
||
990 | * |
||
991 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage |
||
992 | * |
||
993 | * @return static |
||
994 | * |
||
995 | * @see http://schema.org/mainEntityOfPage |
||
996 | */ |
||
997 | public function mainEntityOfPage($mainEntityOfPage) |
||
1001 | |||
1002 | /** |
||
1003 | * Indicates the kind of Map, from the MapCategoryType Enumeration. |
||
1004 | * |
||
1005 | * @param \Spatie\SchemaOrg\Contracts\MapCategoryTypeContract|\Spatie\SchemaOrg\Contracts\MapCategoryTypeContract[] $mapType |
||
1006 | * |
||
1007 | * @return static |
||
1008 | * |
||
1009 | * @see http://schema.org/mapType |
||
1010 | */ |
||
1011 | public function mapType($mapType) |
||
1015 | |||
1016 | /** |
||
1017 | * A material that something is made from, e.g. leather, wool, cotton, |
||
1018 | * paper. |
||
1019 | * |
||
1020 | * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material |
||
1021 | * |
||
1022 | * @return static |
||
1023 | * |
||
1024 | * @see http://schema.org/material |
||
1025 | */ |
||
1026 | public function material($material) |
||
1030 | |||
1031 | /** |
||
1032 | * Indicates that the CreativeWork contains a reference to, but is not |
||
1033 | * necessarily about a concept. |
||
1034 | * |
||
1035 | * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions |
||
1036 | * |
||
1037 | * @return static |
||
1038 | * |
||
1039 | * @see http://schema.org/mentions |
||
1040 | */ |
||
1041 | public function mentions($mentions) |
||
1045 | |||
1046 | /** |
||
1047 | * The name of the item. |
||
1048 | * |
||
1049 | * @param string|string[] $name |
||
1050 | * |
||
1051 | * @return static |
||
1052 | * |
||
1053 | * @see http://schema.org/name |
||
1054 | */ |
||
1055 | public function name($name) |
||
1059 | |||
1060 | /** |
||
1061 | * An offer to provide this item—for example, an offer to sell a |
||
1062 | * product, rent the DVD of a movie, perform a service, or give away tickets |
||
1063 | * to an event. Use [[businessFunction]] to indicate the kind of transaction |
||
1064 | * offered, i.e. sell, lease, etc. This property can also be used to |
||
1065 | * describe a [[Demand]]. While this property is listed as expected on a |
||
1066 | * number of common types, it can be used in others. In that case, using a |
||
1067 | * second type, such as Product or a subtype of Product, can clarify the |
||
1068 | * nature of the offer. |
||
1069 | * |
||
1070 | * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers |
||
1071 | * |
||
1072 | * @return static |
||
1073 | * |
||
1074 | * @see http://schema.org/offers |
||
1075 | */ |
||
1076 | public function offers($offers) |
||
1080 | |||
1081 | /** |
||
1082 | * The position of an item in a series or sequence of items. |
||
1083 | * |
||
1084 | * @param int|int[]|string|string[] $position |
||
1085 | * |
||
1086 | * @return static |
||
1087 | * |
||
1088 | * @see http://schema.org/position |
||
1089 | */ |
||
1090 | public function position($position) |
||
1094 | |||
1095 | /** |
||
1096 | * Indicates a potential Action, which describes an idealized action in |
||
1097 | * which this thing would play an 'object' role. |
||
1098 | * |
||
1099 | * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction |
||
1100 | * |
||
1101 | * @return static |
||
1102 | * |
||
1103 | * @see http://schema.org/potentialAction |
||
1104 | */ |
||
1105 | public function potentialAction($potentialAction) |
||
1109 | |||
1110 | /** |
||
1111 | * The person or organization who produced the work (e.g. music album, |
||
1112 | * movie, tv/radio series etc.). |
||
1113 | * |
||
1114 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer |
||
1115 | * |
||
1116 | * @return static |
||
1117 | * |
||
1118 | * @see http://schema.org/producer |
||
1119 | */ |
||
1120 | public function producer($producer) |
||
1124 | |||
1125 | /** |
||
1126 | * The service provider, service operator, or service performer; the goods |
||
1127 | * producer. Another party (a seller) may offer those services or goods on |
||
1128 | * behalf of the provider. A provider may also serve as the seller. |
||
1129 | * |
||
1130 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider |
||
1131 | * |
||
1132 | * @return static |
||
1133 | * |
||
1134 | * @see http://schema.org/provider |
||
1135 | */ |
||
1136 | public function provider($provider) |
||
1140 | |||
1141 | /** |
||
1142 | * A publication event associated with the item. |
||
1143 | * |
||
1144 | * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication |
||
1145 | * |
||
1146 | * @return static |
||
1147 | * |
||
1148 | * @see http://schema.org/publication |
||
1149 | */ |
||
1150 | public function publication($publication) |
||
1154 | |||
1155 | /** |
||
1156 | * The publisher of the creative work. |
||
1157 | * |
||
1158 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher |
||
1159 | * |
||
1160 | * @return static |
||
1161 | * |
||
1162 | * @see http://schema.org/publisher |
||
1163 | */ |
||
1164 | public function publisher($publisher) |
||
1168 | |||
1169 | /** |
||
1170 | * The publishingPrinciples property indicates (typically via [[URL]]) a |
||
1171 | * document describing the editorial principles of an [[Organization]] (or |
||
1172 | * individual e.g. a [[Person]] writing a blog) that relate to their |
||
1173 | * activities as a publisher, e.g. ethics or diversity policies. When |
||
1174 | * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are |
||
1175 | * those of the party primarily responsible for the creation of the |
||
1176 | * [[CreativeWork]]. |
||
1177 | * |
||
1178 | * While such policies are most typically expressed in natural language, |
||
1179 | * sometimes related information (e.g. indicating a [[funder]]) can be |
||
1180 | * expressed using schema.org terminology. |
||
1181 | * |
||
1182 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples |
||
1183 | * |
||
1184 | * @return static |
||
1185 | * |
||
1186 | * @see http://schema.org/publishingPrinciples |
||
1187 | */ |
||
1188 | public function publishingPrinciples($publishingPrinciples) |
||
1192 | |||
1193 | /** |
||
1194 | * The Event where the CreativeWork was recorded. The CreativeWork may |
||
1195 | * capture all or part of the event. |
||
1196 | * |
||
1197 | * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt |
||
1198 | * |
||
1199 | * @return static |
||
1200 | * |
||
1201 | * @see http://schema.org/recordedAt |
||
1202 | */ |
||
1203 | public function recordedAt($recordedAt) |
||
1207 | |||
1208 | /** |
||
1209 | * The place and time the release was issued, expressed as a |
||
1210 | * PublicationEvent. |
||
1211 | * |
||
1212 | * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent |
||
1213 | * |
||
1214 | * @return static |
||
1215 | * |
||
1216 | * @see http://schema.org/releasedEvent |
||
1217 | */ |
||
1218 | public function releasedEvent($releasedEvent) |
||
1222 | |||
1223 | /** |
||
1224 | * A review of the item. |
||
1225 | * |
||
1226 | * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review |
||
1227 | * |
||
1228 | * @return static |
||
1229 | * |
||
1230 | * @see http://schema.org/review |
||
1231 | */ |
||
1232 | public function review($review) |
||
1236 | |||
1237 | /** |
||
1238 | * Review of the item. |
||
1239 | * |
||
1240 | * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews |
||
1241 | * |
||
1242 | * @return static |
||
1243 | * |
||
1244 | * @see http://schema.org/reviews |
||
1245 | */ |
||
1246 | public function reviews($reviews) |
||
1250 | |||
1251 | /** |
||
1252 | * URL of a reference Web page that unambiguously indicates the item's |
||
1253 | * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or |
||
1254 | * official website. |
||
1255 | * |
||
1256 | * @param string|string[] $sameAs |
||
1257 | * |
||
1258 | * @return static |
||
1259 | * |
||
1260 | * @see http://schema.org/sameAs |
||
1261 | */ |
||
1262 | public function sameAs($sameAs) |
||
1266 | |||
1267 | /** |
||
1268 | * Indicates (by URL or string) a particular version of a schema used in |
||
1269 | * some CreativeWork. For example, a document could declare a schemaVersion |
||
1270 | * using an URL such as http://schema.org/version/2.0/ if precise indication |
||
1271 | * of schema version was required by some application. |
||
1272 | * |
||
1273 | * @param string|string[] $schemaVersion |
||
1274 | * |
||
1275 | * @return static |
||
1276 | * |
||
1277 | * @see http://schema.org/schemaVersion |
||
1278 | */ |
||
1279 | public function schemaVersion($schemaVersion) |
||
1283 | |||
1284 | /** |
||
1285 | * The Organization on whose behalf the creator was working. |
||
1286 | * |
||
1287 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization |
||
1288 | * |
||
1289 | * @return static |
||
1290 | * |
||
1291 | * @see http://schema.org/sourceOrganization |
||
1292 | */ |
||
1293 | public function sourceOrganization($sourceOrganization) |
||
1297 | |||
1298 | /** |
||
1299 | * The "spatial" property can be used in cases when more specific properties |
||
1300 | * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are |
||
1301 | * not known to be appropriate. |
||
1302 | * |
||
1303 | * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial |
||
1304 | * |
||
1305 | * @return static |
||
1306 | * |
||
1307 | * @see http://schema.org/spatial |
||
1308 | */ |
||
1309 | public function spatial($spatial) |
||
1313 | |||
1314 | /** |
||
1315 | * The spatialCoverage of a CreativeWork indicates the place(s) which are |
||
1316 | * the focus of the content. It is a subproperty of |
||
1317 | * contentLocation intended primarily for more technical and detailed |
||
1318 | * materials. For example with a Dataset, it indicates |
||
1319 | * areas that the dataset describes: a dataset of New York weather |
||
1320 | * would have spatialCoverage which was the place: the state of New York. |
||
1321 | * |
||
1322 | * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage |
||
1323 | * |
||
1324 | * @return static |
||
1325 | * |
||
1326 | * @see http://schema.org/spatialCoverage |
||
1327 | */ |
||
1328 | public function spatialCoverage($spatialCoverage) |
||
1332 | |||
1333 | /** |
||
1334 | * A person or organization that supports a thing through a pledge, promise, |
||
1335 | * or financial contribution. e.g. a sponsor of a Medical Study or a |
||
1336 | * corporate sponsor of an event. |
||
1337 | * |
||
1338 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor |
||
1339 | * |
||
1340 | * @return static |
||
1341 | * |
||
1342 | * @see http://schema.org/sponsor |
||
1343 | */ |
||
1344 | public function sponsor($sponsor) |
||
1348 | |||
1349 | /** |
||
1350 | * A CreativeWork or Event about this Thing. |
||
1351 | * |
||
1352 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf |
||
1353 | * |
||
1354 | * @return static |
||
1355 | * |
||
1356 | * @see http://schema.org/subjectOf |
||
1357 | */ |
||
1358 | public function subjectOf($subjectOf) |
||
1362 | |||
1363 | /** |
||
1364 | * The "temporal" property can be used in cases where more specific |
||
1365 | * properties |
||
1366 | * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]], |
||
1367 | * [[datePublished]]) are not known to be appropriate. |
||
1368 | * |
||
1369 | * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal |
||
1370 | * |
||
1371 | * @return static |
||
1372 | * |
||
1373 | * @see http://schema.org/temporal |
||
1374 | */ |
||
1375 | public function temporal($temporal) |
||
1379 | |||
1380 | /** |
||
1381 | * The temporalCoverage of a CreativeWork indicates the period that the |
||
1382 | * content applies to, i.e. that it describes, either as a DateTime or as a |
||
1383 | * textual string indicating a time period in [ISO 8601 time interval |
||
1384 | * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In |
||
1385 | * the case of a Dataset it will typically indicate the relevant time |
||
1386 | * period in a precise notation (e.g. for a 2011 census dataset, the year |
||
1387 | * 2011 would be written "2011/2012"). Other forms of content e.g. |
||
1388 | * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their |
||
1389 | * temporalCoverage in broader terms - textually or via well-known URL. |
||
1390 | * Written works such as books may sometimes have precise temporal |
||
1391 | * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601 |
||
1392 | * interval format format via "1939/1945". |
||
1393 | * |
||
1394 | * Open-ended date ranges can be written with ".." in place of the end date. |
||
1395 | * For example, "2015-11/.." indicates a range beginning in November 2015 |
||
1396 | * and with no specified final date. This is tentative and might be updated |
||
1397 | * in future when ISO 8601 is officially updated. |
||
1398 | * |
||
1399 | * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage |
||
1400 | * |
||
1401 | * @return static |
||
1402 | * |
||
1403 | * @see http://schema.org/temporalCoverage |
||
1404 | */ |
||
1405 | public function temporalCoverage($temporalCoverage) |
||
1409 | |||
1410 | /** |
||
1411 | * The textual content of this CreativeWork. |
||
1412 | * |
||
1413 | * @param string|string[] $text |
||
1414 | * |
||
1415 | * @return static |
||
1416 | * |
||
1417 | * @see http://schema.org/text |
||
1418 | */ |
||
1419 | public function text($text) |
||
1423 | |||
1424 | /** |
||
1425 | * A thumbnail image relevant to the Thing. |
||
1426 | * |
||
1427 | * @param string|string[] $thumbnailUrl |
||
1428 | * |
||
1429 | * @return static |
||
1430 | * |
||
1431 | * @see http://schema.org/thumbnailUrl |
||
1432 | */ |
||
1433 | public function thumbnailUrl($thumbnailUrl) |
||
1437 | |||
1438 | /** |
||
1439 | * Approximate or typical time it takes to work with or through this |
||
1440 | * learning resource for the typical intended target audience, e.g. 'PT30M', |
||
1441 | * 'PT1H25M'. |
||
1442 | * |
||
1443 | * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired |
||
1444 | * |
||
1445 | * @return static |
||
1446 | * |
||
1447 | * @see http://schema.org/timeRequired |
||
1448 | */ |
||
1449 | public function timeRequired($timeRequired) |
||
1453 | |||
1454 | /** |
||
1455 | * Organization or person who adapts a creative work to different languages, |
||
1456 | * regional differences and technical requirements of a target market, or |
||
1457 | * that translates during some event. |
||
1458 | * |
||
1459 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator |
||
1460 | * |
||
1461 | * @return static |
||
1462 | * |
||
1463 | * @see http://schema.org/translator |
||
1464 | */ |
||
1465 | public function translator($translator) |
||
1469 | |||
1470 | /** |
||
1471 | * The typical expected age range, e.g. '7-9', '11-'. |
||
1472 | * |
||
1473 | * @param string|string[] $typicalAgeRange |
||
1474 | * |
||
1475 | * @return static |
||
1476 | * |
||
1477 | * @see http://schema.org/typicalAgeRange |
||
1478 | */ |
||
1479 | public function typicalAgeRange($typicalAgeRange) |
||
1483 | |||
1484 | /** |
||
1485 | * URL of the item. |
||
1486 | * |
||
1487 | * @param string|string[] $url |
||
1488 | * |
||
1489 | * @return static |
||
1490 | * |
||
1491 | * @see http://schema.org/url |
||
1492 | */ |
||
1493 | public function url($url) |
||
1497 | |||
1498 | /** |
||
1499 | * The version of the CreativeWork embodied by a specified resource. |
||
1500 | * |
||
1501 | * @param float|float[]|int|int[]|string|string[] $version |
||
1502 | * |
||
1503 | * @return static |
||
1504 | * |
||
1505 | * @see http://schema.org/version |
||
1506 | */ |
||
1507 | public function version($version) |
||
1511 | |||
1512 | /** |
||
1513 | * An embedded video object. |
||
1514 | * |
||
1515 | * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video |
||
1516 | * |
||
1517 | * @return static |
||
1518 | * |
||
1519 | * @see http://schema.org/video |
||
1520 | */ |
||
1521 | public function video($video) |
||
1525 | |||
1526 | /** |
||
1527 | * Example/instance/realization/derivation of the concept of this creative |
||
1528 | * work. eg. The paperback edition, first edition, or eBook. |
||
1529 | * |
||
1530 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample |
||
1531 | * |
||
1532 | * @return static |
||
1533 | * |
||
1534 | * @see http://schema.org/workExample |
||
1535 | */ |
||
1536 | public function workExample($workExample) |
||
1540 | |||
1541 | } |
||
1542 |
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.