Skip to content

Instantly share code, notes, and snippets.

@pferreirafabricio
Last active February 11, 2023 17:40
Show Gist options
  • Save pferreirafabricio/ac9d7d8c3f8b6993a77b59be9238d1e0 to your computer and use it in GitHub Desktop.
Save pferreirafabricio/ac9d7d8c3f8b6993a77b59be9238d1e0 to your computer and use it in GitHub Desktop.
🐘 Classe de constantes em PHP com todos os UFs de cada estado do Brasil
<?php
namespace App\Constants;
/**
* Classe com todos os UFs de cada estado do Brasil
*/
class UfStatesBrazil
{
public const ACRE = 'AC';
public const ALAGOAS = 'AL';
public const AMAPA = 'AP';
public const AMAZONAS = 'AM';
public const BAHIA = 'BA';
public const CEARA = 'CE';
public const DISTRITO_FEDERAL = 'DF';
public const ESPIRITO_SANTO = 'ES';
public const GOIAS = 'GO';
public const MARANHAO = 'MA';
public const MATO_GROSSO = 'MT';
public const MATO_GROSSO_SUL = 'MS';
public const MINAS_GERAIS = 'MG';
public const PARA = 'PA';
public const PARAIBA = 'PB';
public const PARANA = 'PR';
public const PERNAMBUCO = 'PE';
public const PIAUI = 'PI';
public const RIO_DE_JANEIRO = 'RJ';
public const RIO_GRANDE_NORTE = 'RN';
public const RIO_GRANDE_SUL = 'RS';
public const RONDONIA = 'RO';
public const RORAIMA = 'RR';
public const SANTA_CATARINA = 'SC';
public const SAO_PAULO = 'SP';
public const SERGIPE = 'SE';
public const TOCANTINS = 'TO';
/**
* Mapeamento de todos os nomes de estados para os seus respectivos UFs
*/
public const ALL_UF_BY_NAMES = [
'Acre' => self::ACRE,
'Alagoas' => self::ALAGOAS,
'Amapá' => self::AMAPA,
'Amazonas' => self::AMAZONAS,
'Bahia' => self::BAHIA,
'Ceara' => self::CEARA,
'Distrito Federal' => self::DISTRITO_FEDERAL,
'Espírito Santo' => self::ESPIRITO_SANTO,
'Goiás' => self::GOIAS,
'Maranhão' => self::MARANHAO,
'Mato Grosso' => self::MATO_GROSSO,
'Mato Grosso do Sul' => self::MATO_GROSSO_SUL,
'Minas Gerais' => self::MINAS_GERAIS,
'Pará' => self::PARA,
'Paraíba' => self::PARAIBA,
'Paraná' => self::PARANA,
'Pernambuco' => self::PERNAMBUCO,
'Piauí' => self::PIAUI,
'Rio de Janeiro' => self::RIO_DE_JANEIRO,
'Rio Grande do Norte' => self::RIO_GRANDE_NORTE,
'Rio Grande do Sul' => self::RIO_GRANDE_SUL,
'Rondônia' => self::RONDONIA,
'RoraimaBoa ' => self::RORAIMA,
'Santa Catarina' => self::SANTA_CATARINA,
'São Paulo' => self::SAO_PAULO,
'Sergipe' => self::SERGIPE,
'Tocantins' => self::TOCANTINS,
];
}
@pferreirafabricio
Copy link
Author

Exemplo de utilização para dar match de um nome de estado por extenso e retornar seu respectivo UF:

static function getUfByStateName(string $stateName): ?string {
    return UfStatesBrazil::ALL_UF_BY_NAMES[$stateName] ?: null;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment