Application, Store, Core, Helpers et namespaces

De Sydonie
Révision de 17 octobre 2014 à 22:19 par Jml (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Archi.png

L'architecture est séparée en plusieurs "couches" qui séparent le coeur du framework de l'application développée. Typiquement les dossiers sont de ce type :


Application

Le dossier de l'application est l'endroit où le développeur est "libre" de modifier tout ce qui est nécessaire. Cette zone est complètement indépendante des zones du coeur et des contributions. Le namespace choisi pour les classes de l'application doit commencer par le "VendorName" de l'application.


Core : le coeur du framework

Le coeur du framework Sydonie est isolé du reste de l'application. Les classes qui le composent sont dans les namespaces \Sydonie\*

Lors de la création d'une application, aucune modification ne doit être apportée dans le coeur du framework.

Store : les contributions extérieures

Le Store est le dossier qui contient les contributions extérieures. Il peut s'agir de parties essentielles comme cenui du Greyc, ou d'un ensemble de classes utiles pour l'application. Le Store est composé d'autant de dossiers que de "Vendor" utilisés. Chaque sous-dossier correnspond à la partie "VendorName" du namespace.

Par exemple, le Store Greyc contient les classes \Greyc\* qui définissent par exemple des types de SydonieDocument de base. Le Store \Cf\* contient des classes \Cf\SydonieDocument\* qui défnissent de nouveaux types de Document ou affinent ceux définis dans le Store Greyc. Enfin, le Store Zend contient les classes du framework Zend2 qui sont parfois utilisées comme librairies.

Là encore, le développement de l'application ne doit pas entrainer de modifications des Stores.

Helpers : les utilitaires non PHP

Le dossier des Helpers contient des utilitaires Javascript qui servent dans diverses parties de Sydonie. Par exemple la bibliothèque [Majax] est intégrée pour les interactions Ajax dans un certain nombre de templates de Sydonie. Majax est basé sur mootools qui est aussi présent dans le dossier des Helpers.