1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace Spatie\SchemaOrg; |
4
|
|
|
|
5
|
|
|
use \Spatie\SchemaOrg\Contracts\AlignmentObjectContract; |
6
|
|
|
use \Spatie\SchemaOrg\Contracts\IntangibleContract; |
7
|
|
|
use \Spatie\SchemaOrg\Contracts\ThingContract; |
8
|
|
|
|
9
|
|
|
/** |
10
|
|
|
* An intangible item that describes an alignment between a learning resource |
11
|
|
|
* and a node in an educational framework. |
12
|
|
|
* |
13
|
|
|
* @see http://schema.org/AlignmentObject |
14
|
|
|
* |
15
|
|
|
*/ |
16
|
|
View Code Duplication |
class AlignmentObject extends BaseType implements AlignmentObjectContract, IntangibleContract, ThingContract |
|
|
|
|
17
|
|
|
{ |
18
|
|
|
/** |
19
|
|
|
* An additional type for the item, typically used for adding more specific |
20
|
|
|
* types from external vocabularies in microdata syntax. This is a |
21
|
|
|
* relationship between something and a class that the thing is in. In RDFa |
22
|
|
|
* syntax, it is better to use the native RDFa syntax - the 'typeof' |
23
|
|
|
* attribute - for multiple types. Schema.org tools may have only weaker |
24
|
|
|
* understanding of extra types, in particular those defined externally. |
25
|
|
|
* |
26
|
|
|
* @param string|string[] $additionalType |
27
|
|
|
* |
28
|
|
|
* @return static |
29
|
|
|
* |
30
|
|
|
* @see http://schema.org/additionalType |
31
|
|
|
*/ |
32
|
|
|
public function additionalType($additionalType) |
33
|
|
|
{ |
34
|
|
|
return $this->setProperty('additionalType', $additionalType); |
35
|
|
|
} |
36
|
|
|
|
37
|
|
|
/** |
38
|
|
|
* A category of alignment between the learning resource and the framework |
39
|
|
|
* node. Recommended values include: 'assesses', 'teaches', 'requires', |
40
|
|
|
* 'textComplexity', 'readingLevel', 'educationalSubject', and |
41
|
|
|
* 'educationalLevel'. |
42
|
|
|
* |
43
|
|
|
* @param string|string[] $alignmentType |
44
|
|
|
* |
45
|
|
|
* @return static |
46
|
|
|
* |
47
|
|
|
* @see http://schema.org/alignmentType |
48
|
|
|
*/ |
49
|
|
|
public function alignmentType($alignmentType) |
50
|
|
|
{ |
51
|
|
|
return $this->setProperty('alignmentType', $alignmentType); |
52
|
|
|
} |
53
|
|
|
|
54
|
|
|
/** |
55
|
|
|
* An alias for the item. |
56
|
|
|
* |
57
|
|
|
* @param string|string[] $alternateName |
58
|
|
|
* |
59
|
|
|
* @return static |
60
|
|
|
* |
61
|
|
|
* @see http://schema.org/alternateName |
62
|
|
|
*/ |
63
|
|
|
public function alternateName($alternateName) |
64
|
|
|
{ |
65
|
|
|
return $this->setProperty('alternateName', $alternateName); |
66
|
|
|
} |
67
|
|
|
|
68
|
|
|
/** |
69
|
|
|
* A description of the item. |
70
|
|
|
* |
71
|
|
|
* @param string|string[] $description |
72
|
|
|
* |
73
|
|
|
* @return static |
74
|
|
|
* |
75
|
|
|
* @see http://schema.org/description |
76
|
|
|
*/ |
77
|
|
|
public function description($description) |
78
|
|
|
{ |
79
|
|
|
return $this->setProperty('description', $description); |
80
|
|
|
} |
81
|
|
|
|
82
|
|
|
/** |
83
|
|
|
* A sub property of description. A short description of the item used to |
84
|
|
|
* disambiguate from other, similar items. Information from other properties |
85
|
|
|
* (in particular, name) may be necessary for the description to be useful |
86
|
|
|
* for disambiguation. |
87
|
|
|
* |
88
|
|
|
* @param string|string[] $disambiguatingDescription |
89
|
|
|
* |
90
|
|
|
* @return static |
91
|
|
|
* |
92
|
|
|
* @see http://schema.org/disambiguatingDescription |
93
|
|
|
*/ |
94
|
|
|
public function disambiguatingDescription($disambiguatingDescription) |
95
|
|
|
{ |
96
|
|
|
return $this->setProperty('disambiguatingDescription', $disambiguatingDescription); |
97
|
|
|
} |
98
|
|
|
|
99
|
|
|
/** |
100
|
|
|
* The framework to which the resource being described is aligned. |
101
|
|
|
* |
102
|
|
|
* @param string|string[] $educationalFramework |
103
|
|
|
* |
104
|
|
|
* @return static |
105
|
|
|
* |
106
|
|
|
* @see http://schema.org/educationalFramework |
107
|
|
|
*/ |
108
|
|
|
public function educationalFramework($educationalFramework) |
109
|
|
|
{ |
110
|
|
|
return $this->setProperty('educationalFramework', $educationalFramework); |
111
|
|
|
} |
112
|
|
|
|
113
|
|
|
/** |
114
|
|
|
* The identifier property represents any kind of identifier for any kind of |
115
|
|
|
* [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides |
116
|
|
|
* dedicated properties for representing many of these, either as textual |
117
|
|
|
* strings or as URL (URI) links. See [background |
118
|
|
|
* notes](/docs/datamodel.html#identifierBg) for more details. |
119
|
|
|
* |
120
|
|
|
* @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier |
121
|
|
|
* |
122
|
|
|
* @return static |
123
|
|
|
* |
124
|
|
|
* @see http://schema.org/identifier |
125
|
|
|
*/ |
126
|
|
|
public function identifier($identifier) |
127
|
|
|
{ |
128
|
|
|
return $this->setProperty('identifier', $identifier); |
129
|
|
|
} |
130
|
|
|
|
131
|
|
|
/** |
132
|
|
|
* An image of the item. This can be a [[URL]] or a fully described |
133
|
|
|
* [[ImageObject]]. |
134
|
|
|
* |
135
|
|
|
* @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image |
136
|
|
|
* |
137
|
|
|
* @return static |
138
|
|
|
* |
139
|
|
|
* @see http://schema.org/image |
140
|
|
|
*/ |
141
|
|
|
public function image($image) |
142
|
|
|
{ |
143
|
|
|
return $this->setProperty('image', $image); |
144
|
|
|
} |
145
|
|
|
|
146
|
|
|
/** |
147
|
|
|
* Indicates a page (or other CreativeWork) for which this thing is the main |
148
|
|
|
* entity being described. See [background |
149
|
|
|
* notes](/docs/datamodel.html#mainEntityBackground) for details. |
150
|
|
|
* |
151
|
|
|
* @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage |
152
|
|
|
* |
153
|
|
|
* @return static |
154
|
|
|
* |
155
|
|
|
* @see http://schema.org/mainEntityOfPage |
156
|
|
|
*/ |
157
|
|
|
public function mainEntityOfPage($mainEntityOfPage) |
158
|
|
|
{ |
159
|
|
|
return $this->setProperty('mainEntityOfPage', $mainEntityOfPage); |
160
|
|
|
} |
161
|
|
|
|
162
|
|
|
/** |
163
|
|
|
* The name of the item. |
164
|
|
|
* |
165
|
|
|
* @param string|string[] $name |
166
|
|
|
* |
167
|
|
|
* @return static |
168
|
|
|
* |
169
|
|
|
* @see http://schema.org/name |
170
|
|
|
*/ |
171
|
|
|
public function name($name) |
172
|
|
|
{ |
173
|
|
|
return $this->setProperty('name', $name); |
174
|
|
|
} |
175
|
|
|
|
176
|
|
|
/** |
177
|
|
|
* Indicates a potential Action, which describes an idealized action in |
178
|
|
|
* which this thing would play an 'object' role. |
179
|
|
|
* |
180
|
|
|
* @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction |
181
|
|
|
* |
182
|
|
|
* @return static |
183
|
|
|
* |
184
|
|
|
* @see http://schema.org/potentialAction |
185
|
|
|
*/ |
186
|
|
|
public function potentialAction($potentialAction) |
187
|
|
|
{ |
188
|
|
|
return $this->setProperty('potentialAction', $potentialAction); |
189
|
|
|
} |
190
|
|
|
|
191
|
|
|
/** |
192
|
|
|
* URL of a reference Web page that unambiguously indicates the item's |
193
|
|
|
* identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or |
194
|
|
|
* official website. |
195
|
|
|
* |
196
|
|
|
* @param string|string[] $sameAs |
197
|
|
|
* |
198
|
|
|
* @return static |
199
|
|
|
* |
200
|
|
|
* @see http://schema.org/sameAs |
201
|
|
|
*/ |
202
|
|
|
public function sameAs($sameAs) |
203
|
|
|
{ |
204
|
|
|
return $this->setProperty('sameAs', $sameAs); |
205
|
|
|
} |
206
|
|
|
|
207
|
|
|
/** |
208
|
|
|
* A CreativeWork or Event about this Thing. |
209
|
|
|
* |
210
|
|
|
* @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf |
211
|
|
|
* |
212
|
|
|
* @return static |
213
|
|
|
* |
214
|
|
|
* @see http://schema.org/subjectOf |
215
|
|
|
*/ |
216
|
|
|
public function subjectOf($subjectOf) |
217
|
|
|
{ |
218
|
|
|
return $this->setProperty('subjectOf', $subjectOf); |
219
|
|
|
} |
220
|
|
|
|
221
|
|
|
/** |
222
|
|
|
* The description of a node in an established educational framework. |
223
|
|
|
* |
224
|
|
|
* @param string|string[] $targetDescription |
225
|
|
|
* |
226
|
|
|
* @return static |
227
|
|
|
* |
228
|
|
|
* @see http://schema.org/targetDescription |
229
|
|
|
*/ |
230
|
|
|
public function targetDescription($targetDescription) |
231
|
|
|
{ |
232
|
|
|
return $this->setProperty('targetDescription', $targetDescription); |
233
|
|
|
} |
234
|
|
|
|
235
|
|
|
/** |
236
|
|
|
* The name of a node in an established educational framework. |
237
|
|
|
* |
238
|
|
|
* @param string|string[] $targetName |
239
|
|
|
* |
240
|
|
|
* @return static |
241
|
|
|
* |
242
|
|
|
* @see http://schema.org/targetName |
243
|
|
|
*/ |
244
|
|
|
public function targetName($targetName) |
245
|
|
|
{ |
246
|
|
|
return $this->setProperty('targetName', $targetName); |
247
|
|
|
} |
248
|
|
|
|
249
|
|
|
/** |
250
|
|
|
* The URL of a node in an established educational framework. |
251
|
|
|
* |
252
|
|
|
* @param string|string[] $targetUrl |
253
|
|
|
* |
254
|
|
|
* @return static |
255
|
|
|
* |
256
|
|
|
* @see http://schema.org/targetUrl |
257
|
|
|
*/ |
258
|
|
|
public function targetUrl($targetUrl) |
259
|
|
|
{ |
260
|
|
|
return $this->setProperty('targetUrl', $targetUrl); |
261
|
|
|
} |
262
|
|
|
|
263
|
|
|
/** |
264
|
|
|
* URL of the item. |
265
|
|
|
* |
266
|
|
|
* @param string|string[] $url |
267
|
|
|
* |
268
|
|
|
* @return static |
269
|
|
|
* |
270
|
|
|
* @see http://schema.org/url |
271
|
|
|
*/ |
272
|
|
|
public function url($url) |
273
|
|
|
{ |
274
|
|
|
return $this->setProperty('url', $url); |
275
|
|
|
} |
276
|
|
|
|
277
|
|
|
} |
278
|
|
|
|
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.