Un extrait réaliste
{
"name": "reading-list",
"application": {
"type": "classic",
"views": "src/views",
"debug": false,
"error_views": "src/views/errors",
"session": { "lifetime": 7200, "same_site": "Lax" },
"rate_limit": { "enabled": true, "limit": 60, "window": 60 }
},
"database": {
"dsn": "sqlite:runtime/storage/database.sqlite"
},
"requirements": { "php": "^8.2" }
}Les accolades contiennent des objets, les crochets des listes et les deux-points séparent chaque clé de sa valeur. JSON n’accepte ni commentaires ni virgule après la dernière propriété.
Ce que décrivent les sections
applicationtype, vues, sessions, erreurs, limitation
databaseconnexion par défaut non secrète
seoidentité publique et indexation
runtimedossier et version du Framework
scriptscommandes pratiques
requirementsversion PHP attendue
modulesmodules installés
Une règle de décision simple
Demandez-vous : « Cette valeur peut-elle être identique pour tous et publique sur GitHub ? » Si oui, elle peut généralement aller dans phpaml.json. Si elle contient un secret ou dépend du serveur, placez-la dans .env.
Vérifiez votre compréhension : Où placer la durée de session par défaut ?
Dans phpaml.json : c’est un choix partageable du projet.