Lorsque vous déclarez une classe, devez-vous lister toutes les variables et toutes les fonctions que l'objet doit avoir ? Celles-ci sont appelées propriétés et méthodes. La figure 1 montre la structure d'une classe. Notez que vous ne pouvez déclarer des variables qu'entre accolades. ({}). Ou une fonction La figure 2 montre comment définir trois propriétés et deux méthodes dans une classe.
Le nom étend une autre classe.
{
Accéder à la déclaration des variables
Déclaration de fonction d'accès
}
nom = $nom ;
$this->mot de passe = $mot de passe ;
$this->lastLogin = time();
$this->accède++;
}
// Récupère l'heure de la dernière visite
fonction getLastLogin()
{
return(date("M dY", $this->lastLogin));
}
}
//Créer une instance d'un objet
$user = new User("Leon", "sdf123");
//Obtenir l'heure de la dernière visite
print($user->getLastLogin() ."n");
//Imprimer le nom d'utilisateur
print("$utilisateur->nomn");
?>
Lorsque vous déclarez une propriété, vous n'avez pas besoin de spécifier le type de données. La variable peut être un entier, une chaîne ou un autre objet, selon la situation. C'est une bonne idée d'ajouter des commentaires lors de la déclaration des propriétés, du marquage. la signification de la propriété et des types de données.
Lorsque vous déclarez une méthode, vous faites la même chose que si vous définissiez une fonction en dehors de la classe. Les méthodes et les propriétés ont leurs propres espaces de noms. Cela signifie que vous pouvez créer en toute sécurité une fonction avec le même nom. En dehors de la classe, les deux ne seront pas en conflit. Par exemple, une classe peut définir une méthode nommée date() Mais vous ne pouvez pas nommer une méthode comme un mot-clé PHP, comme for ou while
. date() dans PHP, tapez l'indice. Le type d'indice est le nom d'une autre classe qui est passée en argument à une méthode. Si votre script appelle une méthode et passe une variable qui n'est pas une instance de la classe, PHP générera un ". erreur fatale". Vous ne l'avez peut-être pas donné à d'autres types qui donnent des indications de type, comme des entiers, des chaînes ou des booléens. Au moment de la rédaction, il était controversé de savoir si les indications de type devaient inclure des types de tableaux.
Les indications de type sont un raccourci pour tester le type de données des paramètres de fonction ou des instances d'opérateur. Vous pouvez toujours renvoyer cette méthode. Assurez-vous de forcer un paramètre à être un type de données, tel qu'un entier. Figure 3 Assurez-vous que la classe compilée produit uniquement. Exemple de widgets
<?php
//composant
classeWidget
{
public $name='aucun';
public $créé=FALSE ;
}
//Assembleur
classeAssembleur
{
fonction publique make(Widget $w)
{
print("Création de $w->nomn");
$w->créé=VRAI ;
}
}
//Créer un objet composant
$chose = nouveau widget ;
$thing->name = 'Gadget';
//Composant d'assemblage
Assembleur::make($chose);
?>
En plus des variables transmises aux paramètres, les méthodes contiennent une variable spéciale. Elle représente une instance individuelle de la classe. Vous devez l'utiliser pour pointer vers les propriétés de l'objet et d'autres méthodes. supposons qu'une variable non qualifiée est soumise à l'attribut local, mais en PHP, toute variable d'une méthode ne se trouve que dans une certaine portée de la méthode. Notez l'utilisation de cette variable dans le constructeur de la classe User dans la figure 2.
PHP définit un qualificatif d'accès avant la déclaration des propriétés et des méthodes, telles que public, private et protected. De plus, vous pouvez marquer un membre avec « static ». Vous pouvez également déclarer des constantes dans la classe. Différentes méthodes d'accès seront abordées plus tard. dans ce chapitre, des discussions liées.
Vous pouvez répertorier plusieurs propriétés avec la même méthode d'accès sur une seule ligne, en les séparant par des virgules. Dans la figure 2, la classe User possède deux propriétés privées : $password et $lastLogin.