PHP Classes

File: src/Dominio/Entidades/Cliente/Enums/Sexo.php

Recommend this page to a friend!
  Packages of Matheusz Maydana   Bames   src/Dominio/Entidades/Cliente/Enums/Sexo.php   Download  
File: src/Dominio/Entidades/Cliente/Enums/Sexo.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration script
Class: Bames
Application collection to study design patterns
Author: By
Last change:
Date: 1 year ago
Size: 758 bytes
 

Contents

Class file image Download
<?php

declare(strict_types=1);

namespace App\Dominio\Entidades\Cliente\Enums;

use Exception;

enum Sexo: string
{
    case MASCULINO = 'M';
    case FEMININO = 'F';

    case NAO_INFORMADO = 'N';

    public static function get(string $sexo): Sexo
    {
        $sexo = mb_strtolower($sexo);

        return match($sexo) {
            'm','masculino','homem','ele' => self::MASCULINO,
            'f','feminino','feminina','mulher','ela' => self::FEMININO,
            default => self::NAO_INFORMADO
        };
    }

    public function getDescricao(): string
    {
        return match($this) {
            self::MASCULINO => 'Masculino',
            self::FEMININO => 'Feminino',
            self::NAO_INFORMADO => 'Não informado',
        };
    }
}