Apprendre la POO doucement...

ViPHP
AB
ViPHP | 5818 Messages

02 juin 2008, 02:28

C'est juste un exemple pour la forme mais ça pourrait donner quelque chose comme ça
class VerifierFormulaire
{
// Propriétés
    private $donnees;
    private $erreurs;
    private $ListeErreurs;
	private $separateur = ',';
// Constructeur
    public function __construct( $donnees, $separateur = null )
    {
        $this -> donnees = $donnees;
        $this -> erreurs = array();
		if (isset($separateur)) $this->separateur = $separateur;
        //$this -> ListeErreurs = NULL;
    }
	
// Méthodes
	private function Recup_champs($champs)
	{
	$tableau = explode($this->separateur, $champs);
	return $tableau;
	}   
	
	
    public function TesterChampsVides($Champs)
    {
        $Champs = $this->Recup_champs($Champs);

  //...
Pour instancier ta classe avec le séparateur ',' par défaut il te suffit de faire comme avant
$VerifForm = new VerifierFormulaire($_POST);

mais si tu voulais utiliser le point virgule sans avoir à modifier ta classe, il te suffirait de faire
$VerifForm = new VerifierFormulaire($_POST, ';');

Mais encore une fois ce n'est pas forcément utile, juste un exemple pour le principe.

Mammouth du PHP | 19672 Messages

02 juin 2008, 07:03

Ou encore en simplifiant :
<?php
class VerifierFormulaire
{
    // Propriétés
    private $donnees;
    private $erreurs;
    private $ListeErreurs;
    private $separateur;
    // Constructeur
    public function __construct( $donnees, $separateur = ',' )
    {
        $this->donnees    = $donnees;
        $this->erreurs    = array();
        $this->separateur = $separateur;
    }
    
    // Méthodes
    private function Recup_champs($champs)
    {
        $tableau = explode($this->separateur, $champs);
        return $tableau;
    }   
    
    
    public function TesterChampsVides($Champs)
    {
        $Champs = $this->Recup_champs($Champs);
        //... 
On affecte la valeur par défaut dns le paramètre du constructeur et dans ce cas on assigne de toutes façons cette valeur à la propriété VerifierFormulaire::separateur :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
AB
ViPHP | 5818 Messages

02 juin 2008, 13:43

Oui c'est un peu plus simple tout en ayant les mêmes fonctionnalités.
Je fais souvent comme cela car ça me permet de connaitre directement les valeurs par défaut assignées aux propriétés sans avoir à regarder dans chacune des méthodes.