1. Go to this page and download the library: Download timetoogo/enums 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/ */
timetoogo / enums example snippets
final class Boolean extends \Enum\Simple {
public static function True() {
return self::Representing('True');
}
public static function False() {
return self::Representing('False');
}
}
final class Boolean extends \Enum\Simple {
public static function True() {
return self::Representing('True');
}
public static function False() {
return self::Representing('False');
}
public function Not() {
return $this === self::True() ? self::False() : self::True();
}
}
final class DayOfWeek extends Enum\Simple {
public static function Monday() { return self::Representing('Monday'); }
public static function Tuesday() { return self::Representing('Tuesday'); }
public static function Wednesday() { return self::Representing('Wednesday'); }
public static function Thursday() { return self::Representing('Thursday'); }
public static function Friday() { return self::Representing('Friday'); }
public static function Saturday() { return self::Representing('Saturday'); }
public static function Sunday() { return self::Representing('Sunday'); }
public function GetTomorrow() {
if($this === self::Sunday()) {
return self::Monday();
}
else {
$All = self::All();
return $All[array_search($this, $All) + 1];
}
}
}
final class DayOfWeek extends Enum\Simple {
public static function Monday() { return self::Representing(__FUNCTION__); }
public static function Tuesday() { return self::Representing(__FUNCTION__); }
public static function Wednesday() { return self::Representing(__FUNCTION__); }
public static function Thursday() { return self::Representing(__FUNCTION__); }
public static function Friday() { return self::Representing(__FUNCTION__); }
public static function Saturday() { return self::Representing(__FUNCTION__); }
public static function Sunday() { return self::Representing(__FUNCTION__); }
public function GetTomorrow() {
if($this === self::Sunday()) {
return self::Monday();
}
else {
$All = self::All();
return $All[array_search($this, $All) + 1];
}
}
}
final class DayOfWeek extends \Enum\Simple {
use \Enum\Values {
_ as Monday;
_ as Tuesday;
_ as Wednesday;
_ as Thursday;
_ as Friday;
_ as Saturday;
_ as Sunday;
}
public function GetTomorrow() {
if($this === self::Sunday()) {
return self::Monday();
}
else {
$All = self::All();
return $All[array_search($this, $All) + 1];
}
}
}
final class Boolean extends \Enum\Simple {
use \Enum\Values {
_ as True;
_ as False;
}
public function Not() {
return $this === self::True() ? self::False() : self::True();
}
}
final class DayOfWeek extends \Enum\Simple {
use \Enum\Values {
_ as Monday;
_ as Tuesday;
_ as Wednesday;
_ as Thursday;
_ as Friday;
_ as Saturday;
_ as Sunday;
}
protected function ToString($Value) {
return 'Today could be ' . strtolower($Value) . '.';
}
}
echo DayOfWeek::Saturday(); //Today could be saturday.
final class DayOfWeek extends \Enum\Simple {
use \Enum\Values {
_ as Monday;
_ as Tuesday;
_ as Wednesday;
_ as Thursday;
_ as Friday;
_ as Saturday;
_ as Sunday;
}
public static function IsWeekEnd(self $DayOfWeek) {
return $DayOfWeek === self::Saturday() || $DayOfWeek === self::Sunday();
}
public static function GetWeekDays() {
return self::Filter(function (self $DayOfWeek) {
return !self::IsWeekEnd($DayOfWeek);
});
}
public static function GetWeekEndDays() {
return self::Filter([__CLASS__, 'IsWeekEnd']);
}
}
class Country extends Enum\Simple {
public static function USA() {
return self::Representing(
[
'Name' => 'United States of America',
'Population' => 317500000,
'Area' => 9826675
]);
}
public static function Australia() {
return self::Representing(
[
'Name' => 'Australia',
'Population' => 23351119,
'Area' => 7692024
]);
}
public static function SouthAfrica() {
return self::Representing(
[
'Name' => 'South Africa',
'Population' => 52981991,
'Area' => 1221037
]);
}
public static function FromName($Name) {
return self::FirstOrDefaultByValue(
function ($Value) use ($Name) {
return $Value['Name'] === $Name;
});
}
protected function ToString($Value) {
return $Value['Name'];
}
public function PopulationDensity() {
$Country = $this->GetValue();
return $Country['Population'] / $Country['Area'];
}
}
$SouthAfrica = Country::SouthAfrica();
echo sprintf('%s has a population density of: %s/Km²',
$SouthAfrica,
$SouthAfrica->PopulationDensity());
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.