Installation et configuration

Prérequis

  • un serveur web : Apache, nginx, lighttpd ou Cherokee
  • PHP version 7.3 ou supérieure
  • un moteur de base de données relationnelle (MariaDB, MySQL, SQLite3, PostgreSQL…)

Outils conseillés :

Téléchargement et installation

  1. Télécharger l'archive :
$ wget https://git.tuxfamily.org/bluebird/framework.git/snapshot/framework-master.tar.gz
  1. Décompresser l'archive dans le répertoire de votre serveur web (par exemple /var/www/html/) :
$ tar xvzf framework-master.tar.gz framework-master/

Vous devez obtenir l'arborescence suivante :

$ cd framework-master/
$ ls -1F
application/
config/
doc/
i18n/
index.php
library/
LICENSE
log/
phpinfo.php
public/
README.md
scripts/
var/
$
  1. Attribuer les droits en écriture sur les répertoires var et log :
$ chmod -R 777 var log

Configuration

L'application est configurée dans le fichier config/config.php.

Les variables du fichier de configuration sont les suivantes :

development_environment
true fixe le niveau de rapport d'erreurs PHP à E_ALL et génère un maximum de messages dans le fichier de journalisation log/log.log.
log_level
Permet de définir le niveau de gravité du Logger. Voir La journalisation : la classe Logger pour les différents niveaux de gravité.
default_locale
Permet de définir les informations de localisation (ex. : en, en_US, fr, fr_FR, english, french…). Les valeurs possibles sont celles supportées par la fonction PHP setlocale.
default_timezone
Permet de définir le fuseau horaire par défaut.
base_url
Permet de définir l'URL de base du site (ex. http://localhost/bluebird).
database
Permet de définir les informations de connexion à la base de données. Les données dépendent du SGBD choisi (voir les exemples ci-dessous).
filters
Définit la liste des filtres d'interception chargés au démarrage de l'application.

Toutes les valeurs définies dans le fichier de configuration config.php sont disponibles via l'objet Config déclaré dans le conteneur IoC :

$config = \IoC::resolve( 'config' );
$locale = $config['default_locale'];

Connexion à la base de donnée