(PECL spl_types >= 0.1.0)
SplEnum::__construct — Constructs an enumeger object type
This constructor is used to set the value and the strictness of the "Enum" Object.
The input parameter accepts an integer and will throw an UnexpectedValueException if anything else is passed.
A boolean variable to indicate wether the object's strictness should be set or not.
Es wird kein Wert zurückgegeben.
Beispiel #1 SplEnum::__construct() example
<?php
class EnumOne extends SplEnum
{
const __default = 1;
}
class EnumTwo extends SplEnum
{
const __default = 2;
}
class EnumThree extends SplEnum
{
const __default = 3;
}
$enumOne = new EnumOne();
$enumTwo = new EnumTwo();
$enumThree = new EnumThree();
echo 'Enum one : ' . $enumOne . PHP_EOL;
echo 'Enum two : ' . $enumTwo . PHP_EOL;
echo 'Enum three: ' . $enumThree . PHP_EOL;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Enum one : 1 Enum two : 2 Enum three: 3
Here's a clearer example usage in case anyone else finds the
current documentation confusing (as I did).
<?php
class Fruit extends SplEnum
{
// If no value is given during object construction this value is used
const __default = 1;
// Our enum values
const APPLE = 1;
const ORANGE = 2;
}
$myApple = new Fruit();
$myOrange = new Fruit(Fruit::ORANGE);
$fail = 1;
function eat(Fruit $aFruit)
{
if (Fruit::APPLE == $aFruit) {
echo "Eating an apple.\n";
} elseif (Fruit::ORANGE == $aFruit) {
echo "Eating an orange.\n";
}
}
eat($myApple); // Eating an apple.
eat($myOrange); // Eating an orange.
eat($fail); // PHP Catchable fatal error: Argument 1 passed to eat() must be an instance of Fruit, integer given
?>