Un bundle permet d'intégrer facilement l'api dans Symfony 2 en initialisant l'api automatiquement en fonction des données des fichiers de configuration du projet.
Installation
Installation pour Symfony 2.1+ (avec Composer)
Add this in your composer.json:
{
"minimum-stability": "dev",
"require": {
"sde/bdu-bundle": "1.0.*"
},
"repositories": [
{
"type": "vcs",
"url": "http://git.notk.org/gitolite/stof/bdu-api.git"
},
{
"type": "vcs",
"url": "http://git.notk.org/gitolite/stof/BduBundle.git"
}
]
}
Installation pour Symfony 2.0
Placez l'api dans votre dossier vendor en téléchargeant le fichier zip ou en utilisant le dépôt git. Placez le bundle dans votre dossier vendor/bundles/Sde en téléchargeant le fichier zip ou en utilisant le dépôt git.
git submodule add http:
git submodule add http:
ou bien avec le fichier deps:
; deps
[bdu-api]
git=http:
[BduBundle]
git=http:
target=vendor/bundles/Sde/BduBundle
Enregistrez l'api et le namespace Sde dans l'autoloader de Symfony:
$loader->registerNamespaces(array(
'Sde' => __DIR__.'/../vendor/bundles',
));
$loader->registerPrefixes(array(
'Bdu_' => __DIR__.'/../vendor/bdu-api/lib',
));
Configuration
Enregistrez le bundle dans le kernel:
public function registerBundles()
{
return array(
new Sde\BduBundle\SdeBduBundle(),
);
}
Vous devez donner vos identifiants dans la configuration.
# app/config.yml
sde_bdu:
credentials:
login: 11goreti
type: people
password: 1234poney
logging: true
<!-- app/config.xml -->
<container xmlns:sde_bdu="http://www.campus.ecp.fr/schema/dic/sde_bdu">
<sde_bdu:config logging="true">
<sde_bdu:credentials login="11goreti" type="people" password="1234poney" />
</sde_bdu:config>
</container>
- Note
- La valeur par défaut pour les logs est kernel.debug ce qui active les logs en environnement de développement.
- Avertissement
- Les logs utilisent le logueur de Symfony donc vous devez activer les logs du framework pour avoir des logs de l'api.
Utilisation de l'api
L'api est maintenant accessible sous forme d'un service.
$api = $container->get('sde_bdu.api');
$api->isValidLogin('11goreti');
- Avertissement
- Vous ne devez pas utiliser
Bdu_Container::getInstance() car le bundle utilise le container de Symfony 2 au lieu de celui de l'API.