FoxMaSk – Le Grin de Sable

La passion de la liberté et le Free de la passion

CakePHP et PunBB : introduction

Après l’édpisode des comparatifs de framework PHP, voici une astuce pour vous permettre de franchir le pas vers CakePHP (un bon framework PHP utilisant MVC) tout en utilisant PunBB comme outil de forum.

L’idée de base est la suivante : je veux créer un portail basé sur le framework CakePHP mais en utilisant une seul et unique session entre mon portail et mon forum.

Donc pour y parvenir, dans le script dispatcher.php de CakePHP je fais le classique include du script common.php de punbb comme suit :

j’edite le script cake/dispatcher.php et au dessus de

 class Dispatcher extends Object {

j’ajoute :

 define('PUN_ROOT',WWW_ROOT. 'forums/'); require PUN_ROOT.'include/common.php';

de là, partout dans CakePHP nous avons la « main » sur les variables punBB et la gestion de la session.

Donc dans mon controlleur gérant l’utilisateur contiendra ni plus ni moins qu’un copier/coller du code de gestion de la fonction login (avec l’action = in et out selon le cas)

  class UsersController extends AppController {      public function login ()    {    	global $pun, $db, $pun_config, $db_type, $lang_login;        $this->set('error', false);       #soumission du formulaire de login        if (!empty($this->data))        {      #analyse du login/pass ; recherche dans la base et creation du cookie       }     }   }

évidement on n’oubliera pas d’ajouter un global $pun_user par exemple, dans la fonction login, pour manipuler les données que cette variable contient.

Dans un prochain billet, j’aborderai les vues (le V de MVC ;) et comment produire un menu et recuperer dans un bloc de son portail les ‘n’ derniers sujets recents du forum.

Auteur : foxmask

WebDev since PHP3, Founder of PhpFr.Org to help developers in PHP, admin of the french community on PunBB.Fr. Actually core developer on Jelix PHP5 Framework, and author of HaveFnuBB and Huanui, projects made with Jelix

Commentaires Clos.