1. Go to this page and download the library: Download divengine/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/ */
divengine / enum example snippets
const HOT = 1;
const COLD = 2;
const FIRE = 1;
const ICE = 2;
function doSomething(int $temperature) { /* ... */}
doSomething(FIRE);
namespace MyEnums;
use divengine\enum;
class Temperature extends enum {/* Father of all types of temperatures */}
class ExtremeTemperature extends Temperature {/* Father of all types of extreme temperatures */}
class FIRE extends ExtremeTemperature {}
class ICE extends ExtremeTemperature {}
class NormalTemperature extends Temperature {/* Father of all types of normal temperatures */}
class HOT extends NormalTemperature {}
class COOL extends NormalTemperature {}
class COLD extends NormalTemperature {}
use MyEnums;
// Constants are good tricks, but optional
const COOL = COOL::class;
class AllTemperatures {
const COOL = COOL::class; // maybe better
const HOT = 'Enums\\HOT'; // ugly !!!
//...
}
// Define some function with type hinting
function WhatShouldIdo(Temperature $temperature)
{
switch (true) {
case $temperature instanceof ExtremeTemperature:
switch (true) {
case $temperature instanceof FIRE:
return "Call the fire department";
case $temperature instanceof ICE:
return "Warm up";
}
break;
case $temperature instanceof NormalTemperature:
switch ($temperature) {
case HOT::class: // compare using classname
return "Drink a beer :D";
case COOL or AllTemperatures::COOL: // compare using constants
return "Just go away !";
case 'Enums\\COLD': // compare using string, ugly !!!
return "Wear a coat";
}
break;
}
return "I don't know";
}
// Call to function with a instance of any Temperature
echo WhatShouldIdo(new HOT()) . PHP_EOL;
abstract class Temperature extends divengine\enum {
public function whatShouldIdo() {}
}
class HOT extends Temperature {
public function whatShouldIdo() {
echo "Drink a bear!";
}
}
class COLD extends Temperature {
public function whatShouldIdo() {
echo "Wear a coat!";
}
}
// ....
function someStuff(Temperature $t) {
$t->whatShouldIdo();
}
someStuff( new HOT() );
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.