Comment utiliser la méthode magique php __set

青灯夜游
Libérer: 2023-03-10 18:22:01
original
1712 Les gens l'ont consulté

En PHP, la méthode "__set()" est automatiquement appelée lors de l'attribution de valeurs à des attributs de classe non définis ou invisibles dans l'environnement actuel ; le format de syntaxe est "public function __set($key, $value) { ...;}", qui reçoit deux paramètres, un représentant le nom de l'attribut et un représentant la valeur de l'attribut.

Comment utiliser la méthode magique php __set

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

En programmation orientée objet, PHP fournit Une série de méthodes magiques, ces méthodes magiques offrent beaucoup de commodité pour la programmation, et leur rôle en PHP est très important. Les méthodes magiques en PHP commencent généralement par __ (deux traits de soulignement) et ne nécessitent pas d'appels explicites mais sont automatiquement appelées sous certaines conditions.

Méthode __set()

La méthode __set() est automatiquement appelée lors de l'attribution d'une valeur à un attribut de classe qui est indéfini ou invisible dans l'environnement actuel. Le format syntaxique pour définir cette méthode est le suivant :

public function __set($key, $value){
    ... ... ;
}
Copier après la connexion

Parmi eux, le paramètre $key est le nom de la variable à exploiter, et $value est la valeur de la variable $key.

【Exemple】Ce qui suit utilise un exemple simple pour démontrer l'utilisation de la méthode __set().

<?php
    class Website{
        public $name;
        private $url;
        public function __set($key, $value){
            echo &#39;为“&#39;.$key.&#39;”赋值“&#39;.$value.&#39;”失败!<br>&#39;;
        }
    }
    $object          = new Website();
    $object -> name  = &#39;php中文网&#39;;
    $object -> url   = &#39;https://www.php.cn/&#39;;
    $object -> title = &#39;PHP教程&#39;;
?>
Copier après la connexion

Les résultats d'exécution sont les suivants :

为“url”赋值“https://www.php.cn/”失败!
为“title”赋值“PHP教程”失败!
Copier après la connexion

En utilisant les caractéristiques de la méthode __set(), nous pouvons attribuer ou modifier les attributs modifiés avec le mot-clé privé dans la classe via le __set( ) méthode. . Comme indiqué ci-dessous :

<?php
    class Website{
        public $name;
        private $url = &#39;&#39;;
        public function __set($key, $value){
            if(isset($this->$key)){
                $this -> $key = $value;
            }else{
                echo &#39;为“&#39;.$key.&#39;”赋值“&#39;.$value.&#39;”失败!<br>&#39;;
            }
        }
        public function getUrl(){
            echo $this -> url;
        }
    }
    $object          = new Website();
    $object -> name  = &#39;php中文网&#39;;
    $object -> url   = &#39;https://www.php.cn/&#39;;
    $object -> title = &#39;PHP教程&#39;;
    $object -> getUrl();
?>
Copier après la connexion

Les résultats en cours d'exécution sont les suivants :

为“title”赋值“PHP教程”失败!
https://www.php.cn/
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal