accesseur et mutateur?
-
02-10-2019 - |
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
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.