Ces fichiers servent à gérer une partie commune aux applications web proposées par Eirbware.
Ce coeur est principalement basé sur Silex, un microframework utilisant les composants de Symfony2.
Une application web utilisant ce noyau ressemble simplement à ceci :
<?php
include('/net/www/core/autoload.php');
$app = new Eirbware\Application();
// Vos actions et personnalisations
$app->run();
Vous pourrez alors utiliser les mêmes fonctions que Silex, pour plus d'informations, reportez vous à la Documentation de Silex.
L'application utilise par défaut le PathInfo (ex: app.php/mon/url
), mais il est
possible à l'aide de la réécriture d'URL d'obtenir des adresses plus jolies, pour
cela, ajouter le fichier .htaccess
suivant :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
Il est possible de sécuriser l'application à l'aide du CAS de l'IPB qui est pré-configuré. Pour ce faire :
<?php
//...
$app->secureWithCAS();
//...
Il sera par la suite possible d'obtenir l'identifiant de l'utilisateur par $app['user'].
Pour que l'identification soit optionelle, passez false
à secureWithCas()
, et
envoyez les utilisateurs vers /login
pour initier l'identification.
Envoyez les utilisateur vers /logout
pour les désidentifier.
Le moteur de template Twig est chargé par défaut
et pré-configuré. Vous pourrez alors l'utiliser en plaçant vos templates dans le
sous-répértoire views
de votre projet et en procédant ainsi :
<?php
//...
$app->get('/test', function() use ($app) {
return $app['twig']->render('test.html.twig');
});
//...
Voir :
La couche d'abstraction de la base de données Doctrine DBAL peut être utilisé :
<?php
//...
$app->connectDb('host', 'base', 'user', 'pass');
//..
Voir :
Ce dépôt contient une application d'exemple sous exemple/
, consultez la pour découvrir
les fonctionnalités !
Si vous comptez utiliser le noyau Eirbware sur une autre machine que notre serveur de production, clonez ce dépôt et tappez :
git submodule init
git submodule update
cd vendor/silex
git submodule init
git submodule update
Pour télécharger les bibliothèques des dépendances, et vous pourrez commencer à travailler !
N'oubliez pas de charger la base de données si vous avez besoin des utilisateurs dans vos tests :
mysql -u eirbware -p eirbware < fixture/database.sql
Le noyau d'Eirbware est sous license MIT.