Soutenez-nous

FAQ PHPConsultez toutes les FAQ

Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 29 juillet 2013 

 
OuvrirSommaireClasses et objets

Pour créer une instance d'une classe à partir d'un nom de classe créé dynamiquement, il suffit d'avoir le nom de la classe sous forme de chaine de caractères.

Exemple :

 
Sélectionnez
$nomClasse = 'Membre';
$objet =& new $nomClasse(); // l'objet est une instance de la classe Membre

La chaine de caractères peut-être construite de n'importe quel façon que ce soit par concaténation ou à partir d'une information tirée d'une base de données par exemple.

Créé le 27 octobre 2005  par Forum PHP

Lien : Comment appeler une variable dont le nom est stocké dans une autre variable?

PHP5 a introduit quelques mots clefs et en a fait disparaître un, mais la syntaxe est très similaire.

Il n'est plus nécessaire d'utiliser les références lors de la création d'objets.

 
Sélectionnez
// Syntaxe en PHP4 :
$objet = & new Classe();

// Syntaxe en PHP 5 :
$objet = new Classe();

Il ne faut plus utiliser "var" pour déclarer les variables de classe, mais : public, protected ou private.

Les conventions ont changé :
  • Le soulignement "_" ne sert plus à indiquer qu'une propriété est destinée à l'usage interne de la classe, mais simplement à faciliter la saisie du code dans les EDI ;
  • Le constructeur ne prend plus le nom de la classe mais s'appelle __construct() ;
  • Le destructeur a fait son apparition : __destruct()
Exemple en PHP4 :
Sélectionnez
class Chien
{
var $nom;
var $_cri;

function Chien($nom)
{
$this->nom = $nom;
$this->_cri = 'Ouah !';
}

function aboyer()
{
echo $this->_cri;
}
}
Équivalent en PHP5 :
Sélectionnez
class Chien
{
public $nom;
protected $cri;

public function __construct($nom)
{
$this->nom = $nom;
$this->cri = 'Ouah !';
}

public function aboyer()
{
echo $this->cri;
}
}
Mis à jour le 4 août 2008  par Guillaume Rossolini

Lien : Comment déclarer une classe en PHP 5 ?
Lien : Description et exemples des nouveautés de PHP5, par Stephane Eyskens

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.