1. Go to this page and download the library: Download rexlabs/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/ */
rexlabs / enum example snippets
namespace Rexlabs\Enum\Readme;
use Rexlabs\Enum\Enum;
/**
* Class City
*
* @package Rexlabs\Enum\Readme
*
* @method static static BRISBANE()
* @method static static MELBOURNE()
* @method static static SYDNEY()
*/
class City extends Enum
{
const BRISBANE = 'Brisbane';
const MELBOURNE = 'Melbourne';
const SYDNEY = 'Sydney';
// OPTIONAL - Provide a map() method if you would like to
// map additional data, which will be available from the ->value() method
public static function map(): array
{
return [
self::BRISBANE => ["state"=>"QLD", "population"=>""],
self::MELBOURNE => ["state"=>"VIC", "population"=>"5m"],
self::SYDNEY => ["state"=>"NSW", "population"=>"5m"],
];
}
}
// Static access
echo City::BRISBANE; // "Brisbane"
echo City::MELBOURNE; // "Melbourne"
City::names(); // (array)["BRISBANE", "BRISBANE", "SYDNEY"]
City::keys(); // (array)["Brisbane", "Melbourne", "Sydney"]
City::keyForName('BRISBANE'); // "Brisbane"
City::nameForKey('Melbourne'); // "MELBOURNE"
City::isValidKey('Sydney'); // (boolean)true
City::isValidKey('Paris'); // (boolean)false
// Getting an instance - all return a City instance.
$city = City::BRISBANE();
$city = City::instanceFromName('BRISBANE');
$city = City::instanceFromKey('Brisbane');
// Working with an instance
$city->name(); // "BRISBANE"
$city->key(); // "Brisbane"
$city->value()['population']; // null - no value mapped
$city->is(City::BRISBANE); // (boolean)true
$city->is(City::BRISBANE()); // (boolean)true
$city->is(City::SYDNEY()); // (boolean)false
$city->isNot(City::SYDNEY()); // (boolean)true
$city->isAnyOf([City::BRISBANE()]); // (boolean)true
$city->isNoneOf([City::BRISBANE()]); // (boolean)false
// Or ...
City::SYDNEY()->key(); // "Sydney"
City::SYDNEY()->value(); // (array)["state"=>"NSW", "population"=>"5m"]
function announceCity(City $city) {
echo "{$city->key()} is located in {$city->value()["state"]}, population: {$city->value()["population"]}\n";
}
// Get a new instance
announceCity(City::SYDNEY()); // "Sydney is located in NSW, population: 5m"
$enum->name();
$enum->key();
$enum->value();
$enum->is(City::SYDNEY); // Compare to constant key
$enum->is(City::SYDNEY()); // Compare to instance
(string)City::SYDNEY(); // "SYDNEY"
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.