Maison  >  Article  >  développement back-end  >  Il existe plusieurs types de membres php

Il existe plusieurs types de membres php

青灯夜游
青灯夜游original
2023-02-27 09:55:163767parcourir

Il existe trois types de membres PHP : 1. Les attributs de membre (attributs de classe), qui sont des variables définies dans la classe, utilisées pour stocker des données dans la classe ; 2. Les méthodes membres, qui sont des fonctions définies dans la classe, fournies à objets Résoudre l'incident ; 3. Les constantes de classe sont des constantes définies dans la classe et sont définies à l'aide du mot-clé const.

Il existe plusieurs types de membres php

L'environnement d'exploitation de ce tutoriel : système Windows 7, version PHP 8, ordinateur DELL G3

1. Concept

Les membres de la classe font référence à une série de données définies dans la classe, ils en sont directement dépendants au premier niveau du membre de la classe. Les membres de classe incluent : les attributs de membre, les méthodes de membre et les constantes de classe.

  • Attributs membres (attributs de classe) : variables définies dans la classe, utilisées pour stocker les données dans la classe

  • Méthodes membres : fonctions définies dans la classe, fournies aux objets pour résoudre des événements.

  • Constantes de classe : les constantes définies dans une classe sont définies à l'aide du mot-clé const.

Les propriétés et les méthodes doivent être modifiées avec des modificateurs de qualification d'accès lors de l'accès.

Syntaxe :

class 类名{
 
        public $成员属性名[=成员属性值]; //成员属性可以只定义而不赋值,放在之后赋值。 
        [public] function 成员方法名(){
                   ... 
                 } 
        const 常量名=值; 
 
}

Les attributs membres d'une classe peuvent être définis sans attribuer de valeurs. Ils peuvent se voir attribuer des valeurs en fonction de la situation dans des opérations logiques ultérieures, mais ils doivent être modifiés avec les modificateurs de qualification d'accès. des méthodes membres peuvent être omises, et elles seront par défaut si elles sont omises. Le modificateur de qualification sera expliqué en détail plus tard.

2. Étapes de mise en œuvre

Les étapes de mise en œuvre des membres de la classe nécessitent également une analyse de la logique métier. Les étapes générales sont les suivantes :

  • Déclarer la structure de la classe

  • Analyser si la classe doit stocker des données pour déterminer. s'il faut définir les attributs des membres ou combien d'attributs de membre sont définis

  • Analysez si la classe doit effectuer certaines opérations pour déterminer si elle doit définir des méthodes de membre.

  • Analyser si des constantes doivent être définies

  • Instanciation d'objet

  • Appeler les membres de la classe via des objets

Exemple : Un exemple simple d'analyse d'une classe de soumission de nouvelles

Pour implémenter une soumission de nouvelles, vous doit d'abord déclarer la structure de classe :

class devote{ }

Ensuite, analysez si les données doivent être stockées. Évidemment, les données doivent être stockées lors de la soumission d'une actualité. Tout d'abord, le titre et le contenu de l'actualité doivent être stockés, puis les informations du contributeur, y compris le surnom, email, numéro de téléphone portable, etc.

Nous stockons ces données via les attributs des membres :

class devote{
        public $nickname="投稿人";
        public $title="新闻标题";
        public $content="投稿内容";
        public $email="邮箱";
        public $phone="手机号"; 
}

Analysez ensuite si des opérations doivent être effectuées. Lors de la soumission d'une actualité, vous devez d'abord filtrer le contenu de l'actualité et bloquer les mots inappropriés, puis le soumettre à la base de données pour enregistrer le brouillon, en attente d'examen.

class devote{
        public $nickname="投稿人";
        public $content="投稿内容";
        public $email="邮箱";
        public $phone="手机号";
        function clear($content){
                 //过滤新闻内容 
        }
        function input(){
         //提交到数据库 
        } 
}

Ai-je besoin de constantes de classe ? Ce n'est pas nécessaire pour le moment, alors l'étape suivante consiste à instancier la classe, puis à appeler les membres via l'objet pour implémenter la fonction.

$devote=new devote();
//实例化对象 
$devote->nickname="小杜"; 
$devote->title="一件大事"; 
$devote->content="我手机没电了"; 
$devote->email="2811051813@qq.com"; 
$devote->phone="就不告诉你"; 
$devote->clear($devote->content); 
$devote->input(); 
//通过调用成员实现业务

Concernant l'appel des membres de la classe, nous utilisons le lien -> Comme le montre l'exemple ci-dessus, la syntaxe pour appeler les attributs de la classe est :

$object->property name; Il n'est pas nécessaire d'ajouter le symbole $ lors de l'appel du nom de l'attribut. Lors de l'appel, ils sont intégrés. Mais lors de la définition des attributs, il doit y avoir un symbole $ pour indiquer la définition des variables.

L'appel de l'attribut obtiendra la valeur de l'attribut actuel, et lui attribuer une valeur changera sa valeur. Comme ci-dessus, si l'attribut title est appelé directement, la valeur obtenue est "titre de l'actualité". à nouveau, la valeur du titre sera C'est une chose importante. Si vous réattribuez une propriété, la valeur obtenue en utilisant la propriété ensuite sera la valeur attribuée plus tard, car la propriété de classe est en fait une variable.

La réaffectation équivaut à :

$devote->title="一件大事"; 
//等同于: 
public $title="一件大事";

Appeler une méthode de classe :

$Object->Nom de la méthode (paramètre)

L'appel d'une constante de classe est un appel statique, qui sera expliqué en détail plus tard.

Vous pouvez afficher visuellement le contenu ci-dessus en imprimant l'objet :

class devote{
        public $nickname="投稿人"; 
        public $content="投稿内容"; 
        public $email="邮箱"; 
        public $phone="手机号"; 
        function clear($content){
         //过滤新闻内容 
        } 
        function input(){
         //提交到数据库 
        } 
} 
 
$devote=new devote(); 
var_dump($devote); 
//object(devote)#1 (4) { ["nickname"]=> string(9) "投稿人" ["content"]=> string(12) "投稿内容" ["email"]=> string(6) "邮箱" ["phone"]=> string(9) "手机号" }

Testez-le vous-même, vous pouvez voir que la valeur de l'attribut membre est la valeur par défaut si vous réaffectez l'attribut membre via l'objet, puis imprimez le. object :

$devote->nickname="小杜"; 
$devote->title="一件大事"; 
$devote->content="我手机没电了"; 
$devote->email="2811051813@qq.com"; 
$devote->phone="就不告诉你"; 
$devote->clear($devote->content); 
$devote->input(); 
var_dump($devote);

On peut constater que la valeur de l'attribut class a été modifiée.

3. Opérations de membre

Les exemples ci-dessus ont déjà impliqué des opérations de membre, c'est-à-dire l'accès aux attributs de membre et la modification des attributs de membre. Les opérations de base des attributs d'élément sont l'ajout, la suppression, la modification et la vérification. été démontré ci-dessus. Veuillez consulter les opérations d'ajout d'attribut :

Pour ajouter un attribut de membre, appelez simplement un attribut de membre inexistant directement après l'objet et attribuez une valeur :

$devote->id=1; 
/*
 打印结果: object(devote)#1 (6) { ["nickname"]=> string(6) "小杜" ["content"]=> string(18) "我手机没电了" ["email"]=> string(17) "2811051813@qq.com" ["phone"]=> string(15) "就不告诉你" ["title"]=> string(12) "一件大事" ["id"]=> int(1) } 
*/

Après avoir effectué l'opération ci-dessus, un nouvel identifiant d'attribut sera ajouté à la classe et attribué une valeur de 1. Cette valeur Il est également accessible directement via l'objet ultérieurement :

echo $devote->id; //输出1

L'appel direct d'une propriété inexistante ne signalera pas d'erreur, mais sa valeur est NULL.

var_dump($devote->ids); //NULL
Pour supprimer un attribut de classe, utilisez la méthode unset :

unset($devote->id); 
var_dump($devote->id); 
//NULL

L'attribut de classe opéré via l'objet ne prend effet que sous l'objet courant :

$devote->age=18; 
$dv=new devote(); 
var_dump($dv); 
//object(devote)#2 (4) { ["nickname"]=> string(9) "投稿人" ["content"]=> string(12) "投稿内容" ["email"]=> string(6) "邮箱" ["phone"]=> string(9) "手机号" }

L'opération de méthode n'appelle qu'une seule opération, c'est-à-dire la méthode membre de la classe ne peut être appelée que via l'objet :

$devote->input();

Remarque : les membres d'une classe peuvent être définis de manière illimitée dans une classe, mais une classe ne peut contenir que des attributs de classe, des méthodes de classe et des constantes de classe. Aucune autre syntaxe ne peut être écrite dans le fichier. classe.

class Test{
        echo 1234; 
        var_dump("错误"); 
        if($a==1){ echo "True"; } 
} 
//syntax error, unexpected 'echo' (T_ECHO), expecting function (T_FUNCTION) or const (T_CONST)

Apprentissage recommandé : "

Tutoriel vidéo PHP

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn