Gérer les interfaces avec PHP5

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Gérer les interfaces avec PHP5

par jeff » 04 janv. 2006, 15:28

ou
abstract class ValidationEnvoi
{
  protected $type;

  abstract protected function Envoi();
}

class Lettre extends ValidationEnvoi
{
  public function Envoi()
  {
    $this->type = "Lettre";
  }

}

class Colis extends ValidationEnvoi
{
  public function _Envoi()
  {
    $this->type = "Colis";
  }

}
mais apres c'est selon tes objets

par daoud » 04 janv. 2006, 13:00

comme le dit jeff tu peux envisager une autre solution. Selon moi :
abstract class ValidationEnvoi
{
  protected $type;

  public function Envoi(){
     echo $this->type;
  }
}

class Lettre extends ValidationEnvoi
{
  function __construct()
  {
    $this->type = "Lettre";
  }

}

class Colis extends ValidationEnvoi
{
  function __construct()
  {
    $this->type = "Colis";
  }

}

par jeff » 04 janv. 2006, 12:37

et comme ca
$envoiLettre = new lettre();
$envoiLettre->Envoi();
$envoiColis= new colis();
$envoiColis->Envoi();
maintenat je suis pas sur que les interfaces correspondent le mieux a ta demande, peut etre une class abstraite searit mieux :?:

par Cyrano » 03 janv. 2006, 23:35

On ne peut pas instancier une interface, En revanche, une petite recherche sur => :google: <= à propos du polymorphisme pourrait te permettre d'envisager l'instaciation de la classe appropriée

Gérer les interfaces avec PHP5

par BillGates12345 » 03 janv. 2006, 23:21

Bonjour à tous,

je voudrais gérer les interfaces avec PHP.
Voici le code que j'aimerais faire :
interface iValidationEnvoi
{
  public function Envoi();
}

class Lettre implements iValidationEnvoi
{
  public function Envoi()
  {
    echo "Lettre";
  }

}

class Colis implements iValidationEnvoi
{
  public function Envoi()
  {
    echo "Colis";
  }
}

$envoiLettre = new iValidationEnvoi;
$envoiLettre->Envoi();
j'aimerais faire affiché Colis et Lettre car un interface me permet d'exécuter le code dans les classes qui sont implémentés.

pouvez-vous me dire comment faire ?

merci pour votre aide.