‪TYPO3CMS  ‪main
Extension.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 
24 
30 {
34  public const ‪DISTRIBUTION_CATEGORY = 10;
35 
39  protected static array ‪$defaultCategories = [
40  0 => 'be',
41  1 => 'module',
42  2 => 'fe',
43  3 => 'plugin',
44  4 => 'misc',
45  5 => 'services',
46  6 => 'templates',
47  8 => 'doc',
48  9 => 'example',
49  self::DISTRIBUTION_CATEGORY => 'distribution',
50  ];
51 
55  protected static array ‪$defaultStates = [
56  0 => 'alpha',
57  1 => 'beta',
58  2 => 'stable',
59  3 => 'experimental',
60  4 => 'test',
61  5 => 'obsolete',
62  6 => 'excludeFromUpdates',
63  7 => 'deprecated',
64  999 => 'n/a',
65  ];
66 
67  protected string ‪$extensionKey = '';
68  protected string ‪$version = '';
69  protected int ‪$integerVersion = 0;
70  protected string ‪$title = '';
71  protected string ‪$description = '';
72  protected int ‪$state = 0;
73  protected int ‪$category = 0;
74  protected ?\DateTime ‪$lastUpdated;
75  protected string ‪$updateComment = '';
76  protected string ‪$authorName = '';
77  protected string ‪$authorEmail = '';
78  protected bool ‪$currentVersion = false;
79  protected string ‪$md5hash = '';
80  protected int ‪$reviewState;
81  protected int ‪$alldownloadcounter;
82  protected string ‪$serializedDependencies = '';
83 
87  protected \SplObjectStorage|null ‪$dependencies = null;
88  protected string ‪$documentationLink = '';
89  protected string ‪$distributionImage = '';
90  protected string ‪$distributionWelcomeImage = '';
91  protected string ‪$remote;
92 
96  protected int ‪$position = 0;
97 
98  public function ‪setAuthorEmail(string ‪$authorEmail): void
99  {
100  $this->authorEmail = ‪$authorEmail;
101  }
102 
103  public function ‪getAuthorEmail(): string
104  {
105  return ‪$this->authorEmail;
106  }
107 
108  public function ‪setAuthorName(string ‪$authorName): void
109  {
110  $this->authorName = ‪$authorName;
111  }
112 
113  public function ‪getAuthorName(): string
114  {
115  return ‪$this->authorName;
116  }
117 
118  public function ‪setCategory(int ‪$category): void
119  {
120  $this->category = ‪$category;
121  }
122 
123  public function ‪getCategory(): int
124  {
125  return ‪$this->category;
126  }
127 
131  public function ‪getCategoryString(): string
132  {
133  $categoryString = '';
134  if (isset(self::$defaultCategories[$this->category])) {
135  $categoryString = self::$defaultCategories[‪$this->category];
136  }
137  return $categoryString;
138  }
139 
145  {
146  $categoryIndex = 4;
148  $categoryIndex = (int)‪$category;
149  if ($categoryIndex < 0 || $categoryIndex > 10) {
150  $categoryIndex = 4;
151  }
152  } elseif (is_string(‪$category)) {
153  $categoryIndex = array_search(‪$category, self::$defaultCategories);
154  if ($categoryIndex === false) {
155  $categoryIndex = 4;
156  }
157  }
158  return (int)$categoryIndex;
159  }
160 
161  public function ‪setDescription(string ‪$description): void
162  {
164  }
165 
166  public function ‪getDescription(): string
167  {
168  return ‪$this->description;
169  }
170 
171  public function ‪setExtensionKey(string ‪$extensionKey): void
172  {
173  $this->extensionKey = ‪$extensionKey;
174  }
175 
176  public function ‪getExtensionKey(): string
177  {
178  return ‪$this->extensionKey;
179  }
180 
181  public function ‪setLastUpdated(\DateTime ‪$lastUpdated): void
182  {
183  $this->lastUpdated = ‪$lastUpdated;
184  }
185 
186  public function ‪getLastUpdated(): \DateTime
187  {
188  return ‪$this->lastUpdated;
189  }
190 
191  public function ‪setState(int ‪$state): void
192  {
193  $this->state = ‪$state;
194  }
195 
196  public function ‪getState(): int
197  {
198  return ‪$this->state;
199  }
200 
201  public function ‪getStateString(): string
202  {
203  $stateString = '';
204  if (isset(self::$defaultStates[$this->‪getState()])) {
205  $stateString = self::$defaultStates[$this->‪getState()];
206  }
207  return $stateString;
208  }
209 
214  public function ‪getDefaultState(int|string|null ‪$state = null): mixed
215  {
216  $defaultState = '';
217  if (‪$state === null) {
218  $defaultState = ‪self::$defaultStates;
219  } else {
220  if (is_string(‪$state)) {
221  $stateIndex = array_search(strtolower(‪$state), self::$defaultStates);
222  if ($stateIndex === false) {
223  // default state
224  $stateIndex = 999;
225  }
226  $defaultState = $stateIndex;
227  } else {
228  if (is_int(‪$state) && ‪$state >= 0) {
229  if (array_key_exists(‪$state, self::$defaultStates)) {
230  $stateTitle = self::$defaultStates[‪$state];
231  } else {
232  // default state
233  $stateTitle = 'n/a';
234  }
235  $defaultState = $stateTitle;
236  }
237  }
238  }
239  return $defaultState;
240  }
241 
242  public function ‪setTitle(string ‪$title): void
243  {
244  $this->title = ‪$title;
245  }
246 
247  public function ‪getTitle(): string
248  {
249  return ‪$this->title;
250  }
251 
252  public function ‪setUpdateComment(string ‪$updateComment): void
253  {
254  $this->updateComment = ‪$updateComment;
255  }
256 
257  public function ‪getUpdateComment(): string
258  {
260  }
261 
262  public function ‪setVersion(string ‪$version): void
263  {
264  $this->version = ‪$version;
265  }
266 
267  public function ‪getVersion(): string
268  {
269  return ‪$this->version;
270  }
271 
272  public function ‪setCurrentVersion(bool ‪$currentVersion): void
273  {
274  $this->currentVersion = ‪$currentVersion;
275  }
276 
277  public function ‪getCurrentVersion(): bool
278  {
280  }
281 
282  public function ‪setMd5hash(string ‪$md5hash): void
283  {
284  $this->md5hash = ‪$md5hash;
285  }
286 
287  public function ‪getMd5hash(): string
288  {
289  return ‪$this->md5hash;
290  }
291 
297  public static function ‪returnInstallPaths(): array
298  {
299  return [
300  'System' => ‪Environment::getFrameworkBasePath() . '/',
301  'Local' => ‪Environment::getExtensionsPath() . '/',
302  ];
303  }
304 
310  public static function ‪returnAllowedInstallTypes(): array
311  {
312  $installPaths = ‪self::returnInstallPaths();
313  return array_keys($installPaths);
314  }
315 
316  public function ‪setSerializedDependencies(string ‪$dependencies): void
317  {
318  $this->serializedDependencies = ‪$dependencies;
319  }
320 
321  public function ‪getSerializedDependencies(): string
322  {
324  }
325 
329  public function ‪setDependencies(\SplObjectStorage ‪$dependencies)
330  {
331  $this->dependencies = ‪$dependencies;
332  }
333 
337  public function ‪getDependencies(): \SplObjectStorage
338  {
339  if (!is_object($this->dependencies)) {
341  }
342  return ‪$this->dependencies;
343  }
344 
346  {
347  foreach ($this->‪getDependencies() as $dependency) {
348  if ($dependency->getIdentifier() === 'typo3') {
349  return $dependency;
350  }
351  }
352  return null;
353  }
354 
355  public function ‪addDependency(‪Dependency $dependency): void
356  {
357  $this->dependencies->attach($dependency);
358  }
359 
360  public function ‪setIntegerVersion(int ‪$integerVersion): void
361  {
362  $this->integerVersion = ‪$integerVersion;
363  }
364 
365  public function ‪getIntegerVersion(): int
366  {
368  }
369 
370  public function ‪setReviewState(int ‪$reviewState): void
371  {
372  $this->reviewState = ‪$reviewState;
373  }
374 
375  public function ‪getReviewState(): int
376  {
377  return ‪$this->reviewState;
378  }
379 
380  public function ‪setPosition(int ‪$position): void
381  {
382  $this->position = ‪$position;
383  }
384 
385  public function ‪getPosition(): int
386  {
387  return ‪$this->position;
388  }
389 
391  {
392  $this->alldownloadcounter = ‪$alldownloadcounter;
393  }
394 
395  public function ‪getAlldownloadcounter(): int
396  {
398  }
399 
400  public function ‪getDocumentationLink(): string
401  {
403  }
404 
405  public function ‪setDocumentationLink(string ‪$documentationLink): void
406  {
407  $this->documentationLink = ‪$documentationLink;
408  }
409 
410  public function ‪getRemoteIdentifier(): string
411  {
412  return ‪$this->remote;
413  }
414 
418  public static function ‪createFromExtensionArray(array $extensionArray): self
419  {
420  $extension = GeneralUtility::makeInstance(self::class);
421  $extension->setExtensionKey($extensionArray['key']);
422  if (isset($extensionArray['version'])) {
423  $extension->setVersion($extensionArray['version']);
424  }
425  $extension->remote = $extensionArray['remote'] ?? 'ter';
426  if (isset($extensionArray['constraints'])) {
427  $extension->setDependencies($extension->convertDependenciesToObjects(is_array($extensionArray['constraints']) ? serialize($extensionArray['constraints']) : $extensionArray['constraints']));
428  }
429  return $extension;
430  }
431 
437  protected function ‪convertDependenciesToObjects(string ‪$dependencies): \SplObjectStorage
438  {
439  $dependenciesObject = new \SplObjectStorage();
440  $unserializedDependencies = unserialize(‪$dependencies, ['allowed_classes' => false]);
441  if (!is_array($unserializedDependencies)) {
442  return $dependenciesObject;
443  }
444  foreach ($unserializedDependencies as $dependencyType => $dependencyValues) {
445  // Dependencies might be given as empty string, e.g. conflicts => ''
446  if (!is_array($dependencyValues)) {
447  continue;
448  }
449  if (!$dependencyType) {
450  continue;
451  }
452  foreach ($dependencyValues as $dependency => $versionConstraint) {
453  if ($dependency) {
454  $dependencyObject = ‪Dependency::createFromEmConf((string)$dependency, $versionConstraint, (string)$dependencyType);
455  $dependenciesObject->attach($dependencyObject);
456  }
457  }
458  }
459  return $dependenciesObject;
460  }
461 
462  public function ‪setDistributionImage(string $imageUrl): void
463  {
464  $this->distributionImage = $imageUrl;
465  }
466 
467  public function ‪getDistributionImage(): string
468  {
470  }
471 
472  public function ‪setDistributionWelcomeImage(string $imageUrl): void
473  {
474  $this->distributionWelcomeImage = $imageUrl;
475  }
476 
477  public function ‪getDistributionWelcomeImage(): string
478  {
480  }
481 }
‪TYPO3\CMS\Extensionmanager\Domain\Model\Dependency
Definition: Dependency.php:28
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getReviewState
‪getReviewState()
Definition: Extension.php:375
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$defaultCategories
‪static array $defaultCategories
Definition: Extension.php:39
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getAlldownloadcounter
‪getAlldownloadcounter()
Definition: Extension.php:395
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$position
‪int $position
Definition: Extension.php:96
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getRemoteIdentifier
‪getRemoteIdentifier()
Definition: Extension.php:410
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\convertDependenciesToObjects
‪SplObjectStorage< Dependency > convertDependenciesToObjects(string $dependencies)
Definition: Extension.php:437
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setPosition
‪setPosition(int $position)
Definition: Extension.php:380
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getDescription
‪getDescription()
Definition: Extension.php:166
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setCurrentVersion
‪setCurrentVersion(bool $currentVersion)
Definition: Extension.php:272
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension
Definition: Extension.php:30
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$updateComment
‪string $updateComment
Definition: Extension.php:75
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setDistributionWelcomeImage
‪setDistributionWelcomeImage(string $imageUrl)
Definition: Extension.php:472
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getStateString
‪getStateString()
Definition: Extension.php:201
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$integerVersion
‪int $integerVersion
Definition: Extension.php:69
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getAuthorEmail
‪getAuthorEmail()
Definition: Extension.php:103
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getSerializedDependencies
‪getSerializedDependencies()
Definition: Extension.php:321
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\DISTRIBUTION_CATEGORY
‪const DISTRIBUTION_CATEGORY
Definition: Extension.php:34
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getPosition
‪getPosition()
Definition: Extension.php:385
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getDocumentationLink
‪getDocumentationLink()
Definition: Extension.php:400
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$description
‪string $description
Definition: Extension.php:71
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$documentationLink
‪string $documentationLink
Definition: Extension.php:88
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setCategory
‪setCategory(int $category)
Definition: Extension.php:118
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$distributionWelcomeImage
‪string $distributionWelcomeImage
Definition: Extension.php:90
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setReviewState
‪setReviewState(int $reviewState)
Definition: Extension.php:370
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getCategoryIndexFromStringOrNumber
‪getCategoryIndexFromStringOrNumber(mixed $category)
Definition: Extension.php:144
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$lastUpdated
‪DateTime $lastUpdated
Definition: Extension.php:74
‪TYPO3\CMS\Core\Core\Environment\getExtensionsPath
‪static getExtensionsPath()
Definition: Environment.php:253
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setTitle
‪setTitle(string $title)
Definition: Extension.php:242
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setExtensionKey
‪setExtensionKey(string $extensionKey)
Definition: Extension.php:171
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getState
‪getState()
Definition: Extension.php:196
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setMd5hash
‪setMd5hash(string $md5hash)
Definition: Extension.php:282
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getMd5hash
‪getMd5hash()
Definition: Extension.php:287
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getAuthorName
‪getAuthorName()
Definition: Extension.php:113
‪TYPO3\CMS\Extbase\DomainObject\AbstractEntity
Definition: AbstractEntity.php:22
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getIntegerVersion
‪getIntegerVersion()
Definition: Extension.php:365
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$authorEmail
‪string $authorEmail
Definition: Extension.php:77
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setAuthorName
‪setAuthorName(string $authorName)
Definition: Extension.php:108
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setDependencies
‪setDependencies(\SplObjectStorage $dependencies)
Definition: Extension.php:329
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\createFromExtensionArray
‪static createFromExtensionArray(array $extensionArray)
Definition: Extension.php:418
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setDistributionImage
‪setDistributionImage(string $imageUrl)
Definition: Extension.php:462
‪TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger
‪static bool canBeInterpretedAsInteger(mixed $var)
Definition: MathUtility.php:69
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getDistributionImage
‪getDistributionImage()
Definition: Extension.php:467
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$category
‪int $category
Definition: Extension.php:73
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$defaultStates
‪static array $defaultStates
Definition: Extension.php:55
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$state
‪int $state
Definition: Extension.php:72
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getCategory
‪getCategory()
Definition: Extension.php:123
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$reviewState
‪int $reviewState
Definition: Extension.php:80
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$dependencies
‪SplObjectStorage null $dependencies
Definition: Extension.php:87
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setDescription
‪setDescription(string $description)
Definition: Extension.php:161
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getCurrentVersion
‪getCurrentVersion()
Definition: Extension.php:277
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getDependencies
‪SplObjectStorage< Dependency > getDependencies()
Definition: Extension.php:337
‪TYPO3\CMS\Extensionmanager\Domain\Model\Dependency\createFromEmConf
‪static createFromEmConf(string $identifier, string $versionConstraint='', string $dependencyType='depends')
Definition: Dependency.php:58
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$remote
‪string $remote
Definition: Extension.php:91
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$version
‪string $version
Definition: Extension.php:68
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$currentVersion
‪bool $currentVersion
Definition: Extension.php:78
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getCategoryString
‪getCategoryString()
Definition: Extension.php:131
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$alldownloadcounter
‪int $alldownloadcounter
Definition: Extension.php:81
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$title
‪string $title
Definition: Extension.php:70
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setUpdateComment
‪setUpdateComment(string $updateComment)
Definition: Extension.php:252
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$serializedDependencies
‪string $serializedDependencies
Definition: Extension.php:82
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setState
‪setState(int $state)
Definition: Extension.php:191
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\returnAllowedInstallTypes
‪static returnAllowedInstallTypes()
Definition: Extension.php:310
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\returnInstallPaths
‪static returnInstallPaths()
Definition: Extension.php:297
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setLastUpdated
‪setLastUpdated(\DateTime $lastUpdated)
Definition: Extension.php:181
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$extensionKey
‪string $extensionKey
Definition: Extension.php:67
‪TYPO3\CMS\Core\Core\Environment\getFrameworkBasePath
‪static getFrameworkBasePath()
Definition: Environment.php:245
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\addDependency
‪addDependency(Dependency $dependency)
Definition: Extension.php:355
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setDocumentationLink
‪setDocumentationLink(string $documentationLink)
Definition: Extension.php:405
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getUpdateComment
‪getUpdateComment()
Definition: Extension.php:257
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getDistributionWelcomeImage
‪getDistributionWelcomeImage()
Definition: Extension.php:477
‪TYPO3\CMS\Core\Core\Environment
Definition: Environment.php:41
‪TYPO3\CMS\Extensionmanager\Domain\Model
Definition: Dependency.php:18
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setAuthorEmail
‪setAuthorEmail(string $authorEmail)
Definition: Extension.php:98
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getVersion
‪getVersion()
Definition: Extension.php:267
‪TYPO3\CMS\Core\Utility\MathUtility
Definition: MathUtility.php:24
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getExtensionKey
‪getExtensionKey()
Definition: Extension.php:176
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setSerializedDependencies
‪setSerializedDependencies(string $dependencies)
Definition: Extension.php:316
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setAlldownloadcounter
‪setAlldownloadcounter(int $alldownloadcounter)
Definition: Extension.php:390
‪TYPO3\CMS\Redirects\Message\description
‪identifier description
Definition: RedirectWasHitMessage.php:32
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getTypo3Dependency
‪getTypo3Dependency()
Definition: Extension.php:345
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getLastUpdated
‪getLastUpdated()
Definition: Extension.php:186
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:52
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$md5hash
‪string $md5hash
Definition: Extension.php:79
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$distributionImage
‪string $distributionImage
Definition: Extension.php:89
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getDefaultState
‪getDefaultState(int|string|null $state=null)
Definition: Extension.php:214
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\$authorName
‪string $authorName
Definition: Extension.php:76
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setIntegerVersion
‪setIntegerVersion(int $integerVersion)
Definition: Extension.php:360
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getTitle
‪getTitle()
Definition: Extension.php:247
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setVersion
‪setVersion(string $version)
Definition: Extension.php:262