Bonjour,

J'essaie de limiter au maximum (voire supprimer totalement) l'utilisation de HTML dans mes classes.

Cependant, j'aimerais avoir vos conseils dans le cas de gestion de modules tels qui suivent :

Admettons deux "zones" qui ont un code HTML en commun mais qui peuvent avoir des modules différents :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Mere
{
 
protected $module1;
protected $module2;
 
public function getModule1()
{
   ob_start();
 
   if ( isset( $this->module1 ) && $this->module1 == true )
   {
      ?>
      <p>Module 1</p>
      <?php
   }
 
   return ob_get_clean();
}
 
public function getModule2()
{
   ob_start();
 
   if ( isset( $this->module2 ) && $this->module2 == true )
   {
      ?>
      <p>Module 2</p>
      <?php
   }
 
   return ob_get_clean();
}
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class Zone1 extends Mere
{
protected $module1 = true;
protected $module2 = true;
}
 
class Zone2 extends Mere
{
protected $module1 = true;
protected $module2 = false;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$mod = new Zone2; // $mod = new Zone1; en fonction de la zone
 
include( 'fichier/commun/aux/zones.php' );
Ce fichier commun :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
echo $mod->getModule1();
echo $mod->getModule2();
Donc si vous m'avez suivi jusque là (pas dit que mes explications soient claires), où mettriez-vous le code HTML contenu dans la classe Mere ?

Merci !