![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/old.fdshops.com.ng/vendor/fakerphp/faker/src/Faker/Core/ |
<?php declare(strict_types=1); namespace Faker\Core; use Faker\Extension\Helper; use Faker\Extension\VersionExtension; use Faker\Provider\DateTime; final class Version implements VersionExtension { /** * @var string[] */ private $semverCommonPreReleaseIdentifiers = ['alpha', 'beta', 'rc']; /** * Represents v2.0.0 of the semantic versioning: https://semver.org/spec/v2.0.0.html */ public function semver(bool $preRelease = false, bool $build = false): string { return sprintf( '%d.%d.%d%s%s', mt_rand(0, 9), mt_rand(0, 99), mt_rand(0, 99), $preRelease && mt_rand(0, 1) ? '-' . $this->semverPreReleaseIdentifier() : '', $build && mt_rand(0, 1) ? '+' . $this->semverBuildIdentifier() : '', ); } /** * Common pre-release identifier */ private function semverPreReleaseIdentifier(): string { $ident = Helper::randomElement($this->semverCommonPreReleaseIdentifiers); if (!mt_rand(0, 1)) { return $ident; } return $ident . '.' . mt_rand(1, 99); } /** * Common random build identifier */ private function semverBuildIdentifier(): string { if (mt_rand(0, 1)) { // short git revision syntax: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection return substr(sha1(Helper::lexify('??????')), 0, 7); } // date syntax return DateTime::date('YmdHis'); } }