¿Se pueden almacenar arrays en constantes en PHP? Problema con define() y const
¡Hola a todos! Soy un desarrollador PHP principiante y tuve un problema con las constantes.
Necesito crear una constante que contenga un array con la configuración de conexión a la base de datos y una lista de direcciones IP permitidas. Anteriormente usaba `define()` para cadenas y números simples, y funcionaba perfectamente. Pero cuando intenté pasar un array a `define()`, PHP mostró un error: "Constants may only evaluate to scalar values or arrays".
Probé dos enfoques:
1. Con `define()`:
```php
define('DB_CONFIG', [
'host' => 'localhost',
'port' => 3306,
'user' => 'admin',
'pass' => 'secret'
]);
// Error: Constants may only evaluate to scalar values
```
2. Con la palabra clave `const`:
```php
class Config {
const ALLOWED_IPS = ['192.168.1.1', '10.0.0.1', '127.0.0.1'];
}
// Funciona, pero no en el ámbito global
```
Leí la documentación y noté que en PHP 5.6 se agregó soporte para arrays en constantes, pero tengo PHP 7.4 y aún así ocurren errores.