Ce projet a-t-il un nom ?
Nirina, du prénom d'un collègue d'origine malgache à la mémoire aussi performante qu'une base de données bien construite.
Le code sera hébergé sur github et le site du projet sera accessible à l'adresse
http://nirina.org.
Pourras-tu nous faire un état d'avancement du projet de temps à autre sur le forum ?
Avec plaisir.
Historiquement, le projet de départ était la réalisation d'une couche DAO pour MongoDB et également proposer une interface d'interrogation plus fluente.
Il a pas mal évolué depuis, il intègre la spécification schema.org pour le web sémantique, une API de filtrage de donnée élégante utilisable à plusieurs niveaux (base, collection d'objets, itérateurs), un système d'injection de comportements, et quelques autres petites choses sympas.
Pour ce qui est de l'ordre du classique Nirina propose un système de validation assez souple, un système de mise en cache (plusieurs backends supportés), des behaviors, des hydrateurs, gestion implicite de la persistance, lazy-loading, etc...
Tout n'est pas encore fonctionnel et beaucoup de code est à écrire.
Concernant la configuration elle se fait pour le moment en php à la ZF (renvoie d'arrays dans un objet de config). A terme elle pourra se faire en XML et/ou JSON. Pas de gestionnaire d'évènement prévu, et très probablement pas (ou pas dans les premiers temps) de configuration Yaml et de système d'annotations.
Je réaliserais dans les semaines qui viennent un article assez complet sur ses fonctionnalités présentes et futures et ce qu'il reste à faire. Le site et la documentation se font en même temps que le projet, et une première bêta est prévue pour d'ici deux à trois mois.
Toutes les questions, tous les avis, et toutes les suggestions, sont les bienvenues.
Julien.