Vue d’ensemble pour les développeurs
Cette page constitue une rapide introduction à Elgg pour les développeurs. Elle couvre les principales approches pour travailler avec Elgg en tant que framework, et mentionne certains des termes et des technologies utilisées.
Voyez Guides de développement pour des tutoriels ou Documentation du design de conception pour une discussion approfondie sur le design.
Base de données et Persistance
Elgg utilise MySQL pour la persistance des données et mappe les valeurs de la base de données dans des Entities (une représentation d’une unité atomique d’informations) et des Extenders (informations et descriptions supplémentaires sur les entités). Elgg prend en charge des informations supplémentaires telles que les relations entre les Entities, les flux d’activité et divers types de paramètres.
Plugins
Les plugins modifient le comportement ou l’apparence de Elgg en remplaçant les vues ou en gérant les événements. Toutes les modifications apportées à un site Elgg doivent être implémentées via des plugins pour garantir une mise à niveau facile du noyau.
Actions
Les actions sont le principal moyen par lequel les utilisateurs interagissent avec un site Elgg. Les actions sont enregistrées par des plugins.
Evénements
Les événements sont utilisés dans les plugins Elgg pour interagir avec le moteur Elgg dans certaines circonstances. Les événements sont déclenchés à des moments stratégiques tout au long du processus de démarrage et d’exécution de Elgg, et permettent aux plugins de modifier ou d’annuler le comportement par défaut.
Vues « Views »
Les vues ou Views sont la première couche de présentation pour Elgg. Les vues peuvent être surchargées ou étendues par les Plugins. Les vues sont des catégories d’un type de vue « Viewtype », qui définit quel type de sortie devrait être généré par la vue.
JavaScript
Elgg utilise des modules ES natifs. Les plugins peuvent enregistrer leurs propres modules ou charger leurs propres bibliothèques JS.
Internationalisation
L’interface de Elgg supporte de multiples langues, et utilise Transifex pour la traduction.
Mise en cache
Elgg utilise deux caches pour améliorer les performances : un cache système et SimpleCache.
Bibliothèques tierces
The use of 3rd party libraries in Elgg is managed by using Composer dependencies. Examples of 3rd party libraries are jQuery or Symfony mail.
Pour une liste complète des dépendances de Elgg, consultez la page Packagist pour Elgg.
Génération de données de test ou Ensemencement
Elgg fournit un mécanisme de génération de données - ensemencement de base de données, ou database seeding - pour remplir la base de données avec des entités à des fins de test.
Vous pouvez exécuter les commandes suivantes pour générer des données de test et les supprimer de la base de données.
# seed the database
vendor/bin/elgg-cli database:seed
# unseed the database
vendor/bin/elgg-cli database:unseed
Les plugins peuvent enregistrer leurs propres graines via l’événement 'seeds', 'database'. Le gestionnaire doit renvoyer le nom de classe de la graine, qui doit étendre la classe \Elgg\Database\Seeder\Seed.