É possível armazenar arrays em constantes no PHP? Problema com define() e const
Olá a todos! Sou um desenvolvedor PHP iniciante e tive um problema com constantes.
Preciso criar uma constante que contenha um array com configurações de conexão ao banco de dados e uma lista de IPs permitidos. Antes, eu usava `define()` para strings e números simples, e tudo funcionava perfeitamente. Mas quando tentei passar um array para `define()`, o PHP gerou um erro: "Constants may only evaluate to scalar values or arrays".
Tentei duas abordagens:
1. Através de `define()`:
```php
define('DB_CONFIG', [
'host' => 'localhost',
'port' => 3306,
'user' => 'admin',
'pass' => 'secret'
]);
// Erro: Constants may only evaluate to scalar values
```
2. Através da palavra-chave `const`:
```php
class Config {
const ALLOWED_IPS = ['192.168.1.1', '10.0.0.1', '127.0.0.1'];
}
// Funciona, mas não no escopo global
```
Li a documentação e notei que no PHP 5.6 foi adicionado suporte a arrays em constantes, mas estou usando PHP 7.4 e ainda ocorrem erros.
No answers yet.
Faça login para deixar uma resposta
Blogs