annotate vendor/sebastian/environment/src/OperatingSystem.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents 5311817fb629
children
rev   line source
Chris@2 1 <?php
Chris@2 2 /*
Chris@2 3 * This file is part of sebastian/environment.
Chris@2 4 *
Chris@2 5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
Chris@2 6 *
Chris@2 7 * For the full copyright and license information, please view the LICENSE
Chris@2 8 * file that was distributed with this source code.
Chris@2 9 */
Chris@2 10
Chris@2 11 declare(strict_types=1);
Chris@2 12
Chris@2 13 namespace SebastianBergmann\Environment;
Chris@2 14
Chris@2 15 final class OperatingSystem
Chris@2 16 {
Chris@2 17 /**
Chris@2 18 * Returns PHP_OS_FAMILY (if defined (which it is on PHP >= 7.2)).
Chris@2 19 * Returns a string (compatible with PHP_OS_FAMILY) derived from PHP_OS otherwise.
Chris@2 20 */
Chris@2 21 public function getFamily(): string
Chris@2 22 {
Chris@2 23 if (\defined('PHP_OS_FAMILY')) {
Chris@2 24 return PHP_OS_FAMILY;
Chris@2 25 }
Chris@2 26
Chris@2 27 if (DIRECTORY_SEPARATOR === '\\') {
Chris@2 28 return 'Windows';
Chris@2 29 }
Chris@2 30
Chris@2 31 switch (PHP_OS) {
Chris@2 32 case 'Darwin':
Chris@2 33 return 'Darwin';
Chris@2 34
Chris@2 35 case 'DragonFly':
Chris@2 36 case 'FreeBSD':
Chris@2 37 case 'NetBSD':
Chris@2 38 case 'OpenBSD':
Chris@2 39 return 'BSD';
Chris@2 40
Chris@2 41 case 'Linux':
Chris@2 42 return 'Linux';
Chris@2 43
Chris@2 44 case 'SunOS':
Chris@2 45 return 'Solaris';
Chris@2 46
Chris@2 47 default:
Chris@2 48 return 'Unknown';
Chris@2 49 }
Chris@2 50 }
Chris@2 51 }