The documentation in english will come soon.
Le développement n'est pas terminé, il me reste encore à créer les exceptions.
Des changements sont prévisibles.
Vous avez un petit site internet à budget réduit? Vous voulez avoir des données dynamiques mais sans base de données?
Vous êtes alors sur le bon dépôt.
Vous allez pouvoir avoir des données dynamiques sans base de données, en écrivant des fichiers YAML.
L'exemple fournit, propose une gestion d'articles.
Dans l'exemple, j'utilise Slim Framework pour le routing ainsi que Twig comme moteur de template.
git clone https://github.com/EmixMaxime/yaml-entity.git
Ensuite, pour télécharger les dépendances avec composer :
composer install
La documentation est rédigée suivant l'exemple fournit.
Les fichiers YAML doivent être dans le dossier content.
Dans notre exemple nous avons un dossier "news" qui contiendra tous nos fichiers YAML qui seront nos articles.
Lorsqu'on veut travailler sur nos articles, il nous faut indiquer à notre EntityManager qu'on travaille sur news qui est le dossier contenant nos articles.
/**
* @param le dossier contenant les fichiers de travail (/content/news)
*/
$em = new \App\EntityManager('news'); // initialize the entityManager
L'entityManager étant initialisé, nous voulons récupérer tous les articles :
$articles = $em->findAll();
Un article correspond alors à un fichier .yaml dans le dossier /content/news
Si vous souhaitez récupérer qu'un seul article par son nom de fichier :
$article = $em->find('example');
// or
$article = $em->findBy('name', 'example');
Les méthodes findAll() find($name) et findBy($property, $value) retourne un tableau associatif avec les différentes variables du fichier YAML.
Le contenu est disponible dans la clef content de ce tableau, ainsi qu'une url vous est proposé dans la clef url.
Exemple :
$em->find('example');
retourne :
[
'title' => 'This is an another example without markdown syntaxe',
'author' => 'Emix',
'another_variable' => "Hello i'am an another variable!",
'url' => '/news/example',
'content' => '
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Pariatur quaerat, vero maxime tempora tenetur fuga reiciendis, impedit ullam distinctio et consectetur! Consequuntur possimus earum, minima numquam perferendis obcaecati dicta ullam.
'
]