downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

SplEnum::getConstList> <SplFloat
[edit] Last updated: Fri, 17 May 2013

view this page in

La classe SplEnum

(No version information available, might only be in SVN)

Introduction

La classe SplEnum est utilisée pour émuler et créer des objets d'énumération nativement en PHP.

Synopsis de la classe

SplEnum extends SplType {
/* Constantes */
const NULL __default = null ;
/* Méthodes */
public array getConstList ([ bool $include_default = false ] )
/* Méthodes héritées */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Constantes pré-définies

SplEnum::__default

Exemples

Exemple #1 Exemple d'utilisation de la classe SplEnum

<?php
class Month extends SplEnum {
    const 
__default self::January;
    
    const 
January 1;
    const 
February 2;
    const 
March 3;
    const 
April 4;
    const 
May 5;
    const 
June 6;
    const 
July 7;
    const 
August 8;
    const 
September 9;
    const 
October 10;
    const 
November 11;
    const 
December 12;
}

echo new 
Month(Month::June) . PHP_EOL;

try {
 new 
Month(13);
} catch (
UnexpectedValueException $uve) {
 echo 
$uve->getMessage() . PHP_EOL;
}
?>

L'exemple ci-dessus va afficher :

6
Value not a const in enum Month

Sommaire



add a note add a note User Contributed Notes SplEnum - [1 notes]
up
0
No Such Alias
2 years ago
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

?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites