Question

Quels sont les accesseurs dans PHP5?

Quelqu'un peut-il me donner un bon exemple avec une explication?

Était-ce utile?

La solution

est un concept pour dissimulation de données (ou encapsulation) en POO. Par exemple, si vous voulez avoir une propriété dans votre classe disons « montant » et donner au client de vous classe la possibilité de modifier ou extraire sa valeur Vous devez rendre votre variable « Montant » privée (non visible pour ceux qui utilisent votre classe) et générer deux méthodes un getter et un setter qui manipule votre valeur (qui sont publiques).

La raison est d'être en mesure de valider les données ou le manipuler avant de fixer ou de votre valeur. Voici un bref exemple:

class test {

    private $count; //those who use your class are not able to see this property, only the methods above

    public function setCount( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->count = $value;    
    }

    public function getCount()    
    {                
        return $this->count;    
    }    
}

Autres conseils

Les attributs des classes peuvent être privées. Cela signifie que l'objet peut lire et écrire ses propres attributs privés. Vous avez donc besoin de méthodes pour le faire. Les méthodes qui lisent et renvoient une valeur d'attribut sont appelés getters et ceux qui écrivent les attributs sont appelés setters. Avec ces méthodes, les classes peuvent contrôler ce qui se passe dehors et ce qui vient. Ce concept est appelé encapsulation .

accesseurs et de mutateurs sont tout à fait nouveau concept en PHP 5 sous la forme de deux fonctions magiques __get () et set (). Ces deux fonctions ou de fixer la valeur de la propriété d'un objet radicalement comme expliqué dans l'exemple suivant.

class Datatype{
private $thing;
public function _set($k,$v){
 $this->$k = $v;
}
public function __get($k){
 return $this->$k;
}
}

Le manuel PHP est vraiment pas très bavard sur la question, mais il y a un exemple très détaillé qui devrait expliquer beaucoup. Méthodes magiques: surcharge de la propriété

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top