Peut-on stocker des tableaux dans des constantes en PHP ? Problème avec define() et const
Bonjour à tous ! Je suis un développeur PHP débutant et j'ai rencontré un problème avec les constantes.
J'ai besoin de créer une constante qui contiendra un tableau avec les paramètres de connexion à la base de données et une liste d'adresses IP autorisées. Avant, j'utilisais `define()` pour des chaînes simples et des nombres, et tout fonctionnait parfaitement. Mais quand j'ai essayé de passer un tableau à `define()`, PHP a généré une erreur : "Constants may only evaluate to scalar values or arrays".
J'ai essayé deux approches :
1. Avec `define()` :
```php
define('DB_CONFIG', [
'host' => 'localhost',
'port' => 3306,
'user' => 'admin',
'pass' => 'secret'
]);
// Erreur : Constants may only evaluate to scalar values
```
2. Avec le mot-clé `const` :
```php
class Config {
const ALLOWED_IPS = ['192.168.1.1', '10.0.0.1', '127.0.0.1'];
}
// Fonctionne, mais pas dans la portée globale
```
J'ai lu la documentation et j'ai remarqué que depuis PHP 5.6, le support des tableaux dans les constantes est apparu, mais j'utilise PHP 7.4 et j'ai toujours des problèmes.