Skip to content

Commit

Permalink
[TASK] Add Typo3Version class
Browse files Browse the repository at this point in the history
This class is a backport of the v10 equivalent, it is added
to ensure an easier upgrade path for v11 in the future, when
the constants will get removed.

Adding this class in TYPO3 v9 also helps to improve the release
process when packaging.

Resolves: #90907
Releases: 9.5
Change-Id: I43de23c9bf77cac1b18d0fc9891dfe620a569656
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64028
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
  • Loading branch information
bmack authored and andreaskienast committed Apr 1, 2020
1 parent ae8172c commit 707dff3
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions typo3/sysext/core/Classes/Information/Typo3Version.php
@@ -0,0 +1,64 @@
<?php
declare(strict_types = 1);
namespace TYPO3\CMS\Core\Information;

/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/

/**
* This class contains all relevant information related to the currently running TYPO3 version.
*/
class Typo3Version
{
protected const VERSION = '9.5.16-dev';
protected const BRANCH = '9.5';

/**
* Define constants used up until TYPO3 v10, this constructor can be removed in TYPO3 v11.
*/
public function __construct()
{
if (!defined('TYPO3_version')) {
define('TYPO3_version', $this->getVersion());
}
if (!defined('TYPO3_branch')) {
define('TYPO3_branch', $this->getBranch());
}
}

public function getVersion(): string
{
return static::VERSION;
}

public function getBranch(): string
{
return static::BRANCH;
}

/**
* Get 'major version' of version, e.g., '7' from '7.3.0'
*
* @return int Major version, e.g., '7'
*/
public function getMajorVersion(): int
{
[$explodedVersion] = explode('.', static::VERSION);
return (int)$explodedVersion;
}

public function __toString(): string
{
return $this->getVersion();
}
}

0 comments on commit 707dff3

Please sign in to comment.