Tutoriel : Créer votre premier projet

Dans ce tutoriel vous découvrirez comment créer votre premier projet, personnaliser votre site et ajouter vos premières pages spécifiques

Utilisation des modules

Pour une meilleur organisation et découpage du code, chaque fonctionnalité ou ensemble de fonctionnalité sont regroupés dans des modules. Par exemple l'application Blog contient les modules Category, Article, comment , Front

1. Les deux modules principaux 

  1. Home : ce module gére le back office (la partie administration)
  2. Front : ce module gére le front office.

 

2. Création de votre premier module Front

La création de module se fait depuis L'ide de développement suivant ces étapes

  1. Lancer l'ide
  2. Selectionner votre projet
  3. Dans l'onglet Module Cliquer sur l'icone "Ajouter un module"
  4. Choissiez un nom "Front" et Valider 

Un nouveau dossier Front et donc été crée dans le dossier module de votre application.

Il ne contient pour l'instant que le controller. (FrontController)

Vérifier que ce nouveau module posséde bien le bon namespace

namespace Apps\YYY\Module\Front;

Modifier le si il ne correspond pas à votre application

namespace Apps\Test\Module\Front;

 

Ce nouveau controller posséde déjà la fonction Index

/*
 * Get the home page
 */
 function Index()
 {
    $view = new View(__DIR__."/View/index.tpl", $this->Core);
    return $view->Render();
 }

 

Et comme vous pouvez le constater il pointe sur une vue index.tpl 

Je vous invite donc à créer un dossier View ainsi que le fichier index.tpl  et mettre ce que vous voulez dedans

 

3.Appel de votre module depuis l'application 

On oublie pas le use 

use Apps\Test\Module\Front\FrontController;
 

 

On modifie la fonction Index pour qu'elle utilise ce nouveau controller 

/**
 * Hello world Simple
 * Depuis un module
 */
 function Index()
 {
   $frontController = new FrontController($this->Core);
   return $frontController->Index();
 }

 

Si on rafraichit donc la page :  http://index.html

Vous devez donc voir le template du module front

 

4.Récupération de paramétre Get :

Allons plus loin dans notre code et affichons un message différent selon un paramêtre d'url. Cela peut être pratique par exemple pour afficher le détail d'un produit ou d'un message de forum ..

Voici donc les url de test : 

http://monsite/Index/toto

http://monsite/Index/tata

Les paramétres Get sont passés comme parametres dans la fonction. Il suffit donc de le récupérer dans la classe de votre application et le transmettre aux controller, qui le transmettra à la vue

 

Test.php

/**
 * Hello world Simple
 * Depuis un module avec un paramétre
 */
 function Index($params)
 {
 	$frontController = new FrontController($this->Core);
     return $frontController->Index($params);
 }

FrontController.php

/*
 * Get the home page
 */
 function Index($params)
 {
     $view = new View(__DIR__."/View/index.tpl", $this->Core);
     $view->AddElement(new ElementView("params",  $params));

     return $view->Render();
 }

index.tpl

<h1>Hello World</h1>

<p>
    Bonjour tout  le monde je suis <i>{{params}}</i>

    

</p>

 

Selon l'url le site affichera alors 

  • Bonjour tout le monse je suis toto
  • Bonjour tout le monse je suis tata