Framework

Développement sur PHPBoost
Bienvenue sur l'espace de la documentation de PHPBoost destiné au développement de modules basés sur PHPBoost.


Développer un module

Apprenez à créer un module en suivant ce guide qui vous explique pas à pas les manipulation à exécuter.


Page en cours de refonte. La suite de cette page n'a pas encore été traitée.


Vous trouverez ici la documentation nécessaire pour pouvoir développer un module en se basant sur le noyau PHPBoost.

Créer un module additionnel



L'article Créer un module additionnel détaille pas à pas la création d'un module additionnel. Il fait référence aux framework PHPBoost, détaillé dans la partie suivante de cette article. N'hésitez pas à vous y référer régulièrement pour approfondir votre connaissance du framework PHPBoost.

Framework PHPBoost



Classes



Le framework PHPBoost est composée de classes permettant de faire différentes actions assez simplement pour ne pas avoir à réinventer la roue en développant. Voici la liste de celles qui peuvent être utiles lors du développement d'un module, elles sont classées par importance.

ClasseDescription

Templates
Cette classe permet de séparer le code HTML & CSS (mise en page de la page) du code PHP. Cette technique permet de plus de proposer aux utilisateurs d'utiliser différents thèmes graphiques sur le même site avec une personnalisation la plus complète. L'utilisation de cette technique (séparation des deux types de code) est très fortement recommandée pour le développement de modules (voire indispensable).

Member
Cette classe permet de gérer les membres, récupérer des informations sur eux. Cette classe permet de gérer de façon très pointue les autorisations d'accès par niveau et en supportant notamment les groupes. Un utilisateur peut être dans plusieurs groupes, elle est capable de combiner les droits de chacun des groupes dans lesquels le membre est inscrit. C'est une classe incontournable et très simple à manier.

Sql
La plupart des modules ont besoin d'une base de données. Comme PHPBoost est compatible avec plusieurs SGBD il faut passer par l'intermédiaire d'un environnement générique qui gère la compatibilité avec les différents systèmes. C'est le rôle de la classe SQL.

Cache
Dans le noyau PHPBoost ainsi que dans de nombreux modules des variables de configuration sont utiles. Pour ne pas les stocker dans la base de données et aller les chercher à chaque affichage de page (rappelons qu'une requête dans la base de données coûte cher en performance), il est préférable de mettre en cache ces informations. En gros cela consiste à créer des fichiers qui sont actualisés à chaque modification de la configuration et qui sont chargé à chaque affichage de page.

Pagination
Cette classe est fréquemment utilisée. Elle permet de générer un code HTML contenant les liens vers les différentes pages. Plusieurs options sont disponibles pour adapter la pagination à chaque besoin.

Errors
Gestion des erreurs. Permet de rediriger vers des erreurs générales gérées par le noyau (problème d'autorisation, d'accès...) ou des erreurs propres à chaque module. Différents types de messages d'erreurs sont gérés (erreur, attention, remarque, succès) et l'archivage des erreurs est possible.

Group
Cette classe permet de gérer les groupes. Elle permet de créer des formulaires, ajouter des membres au groupes, etc..

Categories_management
Cette classe permet de gérer des catégories infinies sans avoir à se préoccuper de leur administration. Elle gère les déplacements, l'ajout, la suppression et la modification de catégories. Elle permet aussi de générer différents types d'affichage de formulaires.

Mail
Permet d'envoyer des messages électroniques. Elle permet aussi de vérifier la validité d'une adresse mail.

Rss
Permet de gérer des flux RSS. Elle est capable de générer un flux RSS mais aussi de lire un flux RSS.

Upload
Permet de gérer l'upload de fichiers. Elle est capable de renommer et uploader un fichier, à l'endroit voulu.

Backup
Grâce à cette classe il est possible de créer des sauvegardes et restaurations de base de données. Elle permet aussi de travailler sur la base de données (optimiser les tables et réparer l'intégrité des données).

Bench
Cette classe permet de chronométrer un temps durant l'exécution d'une page. Elle est utilisée pour connaître le temps de génération de la page, mais peut être utile pour d'autres tâches.

Modules ModuleInterface
Ces deux classes permettent aux modules de communiquer entre eux de cette façon, le noyau ou un autre module peut appeler des fonctionnalités d'autres modules sans pour autant casser l'indépendance de chaque module.

Ce système permet donc de garder l'indépendance de chaque module, mais leur permet de communiquer pour ne pas être bloqué par cette indépendance.

Date
La classe Date permet de manipuler des données temporelles (dates, timestamp, dates avec heure précise...) dans différents référentiels horaire.


Documentation supplémentaire



OutilsDescription

Poptimizer
POptimizer (pour PHP Optimizer) est un optimiseur de code source en PHP distribué sous licence GNU/GPL. Cet outil a été développé par l'équipe de développement du noyau de PHPBoost afin d'améliorer ses performances.


Fonctions



Le framework PHPBoost contient aussi des fonctions dont l'utilité est très variée.

Divers



Généralités, avertissement
Charger l'environnement du portail
Langues
Sécurisation des variables entrantes
Environnement base de données
Bloquer une page !
Creer un module additionnel!
Développement de gestion de langue!
Environnement d'une base de données!
Gestion de configuration de phpboost
Guide de style
Internationalisation du code
Introduction au développement
Moteur de templates de phpboost
Support mobile