PHP OOP: Enum (enumerations, výčty)

PHP OOP: Enum (enumerations, výčty)

PHP 8.1. přineslo možnost používat tzv. enum - výčty. Jak se dají enumy používat si ukážeme na pár příkladech.

 

Ukázka

/**
 * 1
 * basic
*/
enum Components
{
    case Fork;
    case Drivetrain;
    case Brake;
    case Wheel;
    case Tyre;
}

// are var1 and var2 equal?
$var1 = Components::Brake;
$var2 = Components::Brake;
var_dump($var1 === $var2);


/**
 * 2
 * using values
*/
enum MtbComponents: string
{
    case Fork = 'Fox 34';
    case Drivetrain = 'Shimano Deore XT';
    case Brake = 'Shimano MT400';
    case Wheel = '29er';
    case Tyre = 'Schwalbe Nobby Nic';
}

// get value of Drivetrain
$var3 = MtbComponents::Drivetrain;
echo $var3->value . PHP_EOL;

// get all values
var_dump(MtbComponents::cases());


/**
 * 3
 * get name of enum
*/
enum Bikes
{
      case Mtb;
      case Gravel;
      case Route;

      public function getName(): string
      {
          return $this->name;
      }
}

function bikeType(Bikes $bikes): void
{
    echo "Bike: " . $bikes->getName();
}

bikeType(Bikes::Mtb);

Bike: Mtb

 

 

 

Kód vrátí

bool(true)
Shimano Deore XT
array(5) {
  [0]=>
  enum(MtbComponents::Fork)
  [1]=>
  enum(MtbComponents::Drivetrain)
  [2]=>
  enum(MtbComponents::Brake)
  [3]=>
  enum(MtbComponents::Wheel)
  [4]=>
  enum(MtbComponents::Tyre)
}
Bike: Mtb

 

 

Odkazy

Zdrojové soubory na githubu

 

 

Komentáře

Vaše reakce na PHP OOP: Enum (enumerations, výčty)

Související obsah

serial-php-oop

php

programovani

vyvoj

php-oop

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.