1. Go to this page and download the library: Download ryunosuke/polyfill-enum library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ryunosuke / polyfill-enum example snippets
enum Suit1
{
use Magicable; // explain later
const SIMPLE_CONST = null;
private const OTHER_CONST = null;
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
var_dump(count(Suit1::cases())); // int(4)
enum Suit2: int
{
use Magicable; // explain later
const SIMPLE_CONST = 0;
const OTHER_CONST = '';
case Hearts = 1;
case Diamonds = 2;
case Clubs = 3;
case Spades = 4;
}
var_dump(count(Suit2::cases())); // int(4)
enum Suit3: string
{
use Magicable; // explain later
const SIMPLE_CONST = '';
const OTHER_CONST = 0;
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}
var_dump(count(Suit3::cases())); // int(4)
class Suit1 extends PureEnum
{
#[EnumCase(false)]
const SIMPLE_CONST = null; // This is not a case (because EnumCase attribute).
private const OTHER_CONST = null; // This is not a case (because it is not public).
const Hearts = null;
const Diamonds = null;
const Clubs = null;
const Spades = null;
}
var_dump(count(Suit1::cases())); // int(4)
class Suit2 extends IntBackedEnum
{
#[EnumCase(false)]
const SIMPLE_CONST = 0; // This is not a case (because EnumCase attribute).
const OTHER_CONST = ''; // This is not a case (because it is not int).
const Hearts = 1;
const Diamonds = 2;
const Clubs = 3;
const Spades = 4;
}
var_dump(count(Suit2::cases())); // int(4)
class Suit3 extends StringBackedEnum
{
#[EnumCase(false)]
const SIMPLE_CONST = ''; // This is not a case (because EnumCase attribute).
const OTHER_CONST = 0; // This is not a case (because it is not string).
const Hearts = 'H';
const Diamonds = 'D';
const Clubs = 'C';
const Spades = 'S';
}
var_dump(count(Suit3::cases())); // int(4)
sh
# Below are the same results
php80 demo/php80-polyfill.php
php81 demo/php81-builtin.php
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.