New file |
0,0 → 1,65 |
<?php |
|
abstract class aAction { |
|
private static $resultat = null; |
private $suivant = null; |
|
public function getResultat() |
{ |
if (aAction::$resultat == null) { |
aAction::$resultat = new Resultat; |
} else { |
return aAction::$resultat; |
} |
} |
|
public function getSuivant() |
{ |
return $this->suivant; |
} |
public function setSuivant($s) |
{ |
if (is_array($s)){ |
$this->suivant = $s; |
} else { |
$this->suivant[] = $s; |
} |
} |
|
public function verifier(Resultat $Resultat) |
{ |
// Nous rassemblons les valeurs du tableau _POST contenat des : dans sous tableau de _POST. |
foreach ($_POST as $cle => $val) { |
$morceau = array(); |
if (preg_match('/^(.+):(.+)$/', $cle, $morceau)) { |
$_POST[$morceau[1]][] = $morceau[2]; |
unset($_POST[$cle]); |
} |
} |
} |
|
public function demarrer() |
{ |
$Resultat = $this->getResultat(); |
$this->executer($Resultat); |
if ($this->getSuivant() != null) { |
for ($i = 0; $i < count($this->getSuivant()) ; $i++) { |
$liste_actions = $this->getSuivant(); |
if ($liste_actions[$i] instanceof aAction) { |
$liste_actions[$i]->demarrer(); |
} else { |
if ($liste_actions[$i] == '__defaut__') { |
$methode = 'executer'; |
} else { |
$methode = 'executer'.$liste_actions[$i]; |
} |
$this->$methode($Resultat); |
} |
} |
} |
} |
|
abstract protected function executer(Resultat $Resultat); |
} |
?> |