PHP code example of gollumsf / enum
1. Go to this page and download the library: Download gollumsf/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/ */
gollumsf / enum example snippets
namespace App\MyNamespace;
use GollumSF\Enum\Enum;
class MyEnum extends Enum {
CONST KEY_1 = 'value1';
CONST KEY_2 = 'value2';
CONST KEY_3 = 'value3';
CONST KEY_4 = 'value4';
}
var_dump(MyEnum::getEnums());
// array(4) {
// ["KEY_1"]=> string(6) "value1"
// ["KEY_2"]=> string(6) "value2"
// ["KEY_3"]=> string(6) "value3"
// ["KEY_4"]=> string(6) "value4"
// }
var_dump(MyEnum::getKey());
// array(4) {
// [0]=> string(4) "KEY_1"
// [1]=> string(4) "KEY_2"
// [2]=> string(4) "KEY_3"
// [3]=> string(4) "KEY_4"
// }
var_dump(MyEnum::getValues());
// array(4) {
// [0]=> string(6) "value1"
// [1]=> string(6) "value2"
// [2]=> string(6) "value3"
// [3]=> string(6) "value4"
// }
var_dump(MyEnum::isValid('NO_VALUE'));
// bool(false)
var_dump(MyEnum::isValid(MyEnum::KEY_1));
// bool(true)
var_dump(MyEnum::isValidKey('NO_KEY'));
// bool(false)
var_dump(MyEnum::isValidKey('KEY_1'));
// bool(true)
var_dump(MyEnum::search('value1'));
// string(5) "KEY_1"
var_dump(MyEnum::search('NO_VALUE'));
// NULL
namespace App\MyNamespace;
use GollumSF\Enum\TranslatedEnum;
class MyEnum extends TranslatedEnum {
CONST KEY_1 = 'value1';
CONST KEY_2 = 'value2';
CONST KEY_3 = 'value3';
CONST KEY_4 = 'value4';
}
var_dump(MyEnum::getTranslatedEnums());
// array(4) {
// ["KEY_1"]=> string(22) "app.my_namespace.key_1"
// ["KEY_2"]=> string(22) "app.my_namespace.key_2"
// ["KEY_3"]=> string(22) "app.my_namespace.key_3"
// ["KEY_4"]=> string(22) "app.my_namespace.key_4"
// }
var_dump(MyEnum::getTranslatedValue());
// array(4) {
// [0] => string(22) "app.my_namespace.key_1"
// [1] => string(22) "app.my_namespace.key_2"
// [2] => string(22) "app.my_namespace.key_3"
// [3] => string(22) "app.my_namespace.key_4"
// }
var_dump(MyEnum::isTranslatedValid('NO_VALUE'));
// bool(false)
var_dump(MyEnum::isTranslatedValid('app.my_namespace.key_1'));
// bool(true)
var_dump(MyEnum::translatedSearch('app.my_namespace.key_1'));
// string(5) "KEY_1"
var_dump(MyEnum::translatedSearch('NO_VALUE'));
// NULL
namespace App\MyNamespace;
use GollumSF\Enum\EnumInterface;
use GollumSF\Enum\EnumTrait;
use GollumSF\Enum\TranslatedEnumInterface;
use GollumSF\Enum\TranslatedEnumTrait;
class MyEnum extends OtherClass implements EnumInterface {
use EnumTrait;
CONST KEY_1 = 'value1';
CONST KEY_2 = 'value2';
CONST KEY_3 = 'value3';
CONST KEY_4 = 'value4';
}
class MyTranslatedEnum extends OtherClass implements TranslatedEnumInterface {
use TranslatedEnumTrait;
CONST KEY_1 = 'value1';
CONST KEY_2 = 'value2';
CONST KEY_3 = 'value3';
CONST KEY_4 = 'value4';
}
namespace App\MyNamespace;
use GollumSF\Enum\TranslatedEnum;
class MyEnum extends TranslatedEnum {
CONST KEY_1 = 'value1';
CONST KEY_2 = 'value2';
CONST KEY_3 = 'value3';
CONST KEY_4 = 'value4';
}
TranslatedEnum::setCallbackTranslatedValue(function ($className, $key, $value) {
return $className.'.'.$key.'.'.$value;
});
var_dump(MyEnum::getTranslatedEnums());
// array(4) {
// ["KEY_1"]=> string(35) "App\MyNamespace\MyEnum.KEY_1.value1"
// ["KEY_2"]=> string(35) "App\MyNamespace\MyEnum.KEY_2.value2"
// ["KEY_3"]=> string(35) "App\MyNamespace\MyEnum.KEY_3.value3"
// ["KEY_4"]=> string(35) "App\MyNamespace\MyEnum.KEY_4.value4"
// }