PHP Básico — Constantes
Olá, DevZ.
Uma constante é um identificador para um valor único. Como o nome sugere, esse valor não pode mudar durante a execução do script (exceto as constantes mágicas, que não são constantes de verdade). As constantes são case-sensitive por padrão. Por convenção, identificadores de constantes são sempre em maiúsculas.
<?php// VÁLIDO
define("ABRA", "063");
define("GOL1", "075");
define("MEGA_GYARADOS", "130");// INVÁLIDO
define("9TALES", "038");// VÁLIDO, PORÉM É UMA MÁ PRÁTICA
define("__POKEMON__", "Gonna catch'all!");
?>
Como as superglobals, o escopo de uma constante é global. Você pode acessar constantes de qualquer lugar em seu script sem se preocupar com o escopo.
Constantes no Laravel
Segue mais um exemplo usando Pokemons.
<?php
namespace App;class Pokemon {
const TOTAL = 151; ...
}?>
Então, adicione um alias no arquivo config/app.php
.
aliases' => [
//...
'Pokemon' => App\Pokemon::class,
Assim, você pode acessar a constante onde você quiser (controllers ou blade files): Pokemon::TOTAL
. Você também pode criar um arquivo constant.php
dentro da sua pasta app
e mapeá-la usando o arquivo composer.json
.
...
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
},
"files": [
"app/helpers.php",
"app/config/constants.php"
]
}
Essa forma NÃO é uma boa prática e não é recomendada, é apenas um exemplo. A MELHOR MANEIRA de se fazer isso é criando um arquivo dentro da pasta config
com um array de valores e acessando ele através do Helper Config
seguindo o exemplo abaixo.
// CRIANDO UM ARRAY COM OS VALORES
// charmander.php
return [
'moves' => [
'growl' => 0,
'scratch' => 40,
'ember' => 40,
'smokescreen' => 0,
]
];// ACESSANDO OS VALORES CONSTANTES
Config::get('charmander.moves');
// ou se quiser especificar um
Config::get('charmander.moves.ember'); // 40
“MAGIC” Constants
O PHP providencia uma série de constantes definidas pelo Core da linguagem. Você pode conferir a lista de magic constants na documentação.
/whoami
Me chamo Victor Hugo Rocha, sou desenvolvedor PHP e escrevo umas paradas. Se você chegou até aqui não esqueça de deixar o seu clap e/ou um comentário. Se você tem interesse por Laravel ou gostou desse texto você pode ler algum dos meus outros artigos, eu recomendo:
- PHP Básico — Variáveis
- PHP Básico — Sintaxe
- PHP Básico — Operadores
- PHP Básico — Controle de Estruturas
- PHP Básico — Construtores da Linguagem e Funções
- PHP — Implementando adminLTE no Laravel
- PHP — Criando um CRUD com Laravel
- PHP — Relacionando Models e Tabelas no Laravel
- PHP — Escrevendo o seu primeiro teste no Laravel
- PHP — Construindo o seu ambiente de desenvolvimento Laravel com Docker
See you, Space Cowboy!