Question

lorsque vous utilisez la doctrine je trébuche sur ces 2 mots:. Accesseur et mutateur

sont-ils utilisés que dans la doctrine ou sont-ils spécifiques pour php?

et que signifient-ils?

Merci

Était-ce utile?

La solution

Ils sont juste des termes de fantaisie pour accesseurs.

class MyClass
{
    private $prop;

    // Accessor (or Getter)
    public function getProp()
    {
        return $this->prop;
    }


    // Mutator (or Setter)
    public function setProp($value)
    {
        $this->prop = $value;
    }

}

Autres conseils

On ne devrait pas être en utilisant __get et __set dans php5 et plus tard maintenant?

Si je vous comprends bien ces 2 sont spécifiques Je suppose que tout langage de programmation orienté objet. Le point est que accesseur est une méthode ou une fonction qui permet d'accéder aux champs privés dans votre classe et méthode mutateur permet de modifier les champs privés. Je peux continuer à écrire à ce sujet, mais je vous suggère de google juste ceux-ci, et vous aurez beaucoup d'informations à ce sujet. Son tout sur l'encapsulation <- vous suggère de rechercher ce terme aussi bien

.

Ils ne sont pas des conditions justes différents pour des accesseurs, du moins pas dans Laravel.

Pour citer la documentation: « accesseurs et mutateurs vous permettent de formater les attributs Eloquent lors de leur récupération à partir d'un modèle ou la mise en valeur. »

https://laravel.com/docs/master/eloquent-mutators

Alors, on pourrait dire que les accesseurs sont un sous-ensemble de accesseurs et mutateurs qui changent les données par un facteur de zéro.

Mettez une autre façon, si je voulais obtenir un champ brut « coût » d'une table, j'utiliser un getter. Si je voulais obtenir ce champ exprimé et formaté en livres et pence, alors je pourrais utiliser un accesseur.

Il y a d'autres façons que je pourrais aller à ce sujet, mais c'est une option.

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