Je travaille sur une classe de couleur hexadécimale où vous pouvez changer les valeurs de couleur de n'importe quelle couleur de code hexadécimal. Dans mon exemple, je n'ai pas terminé les maths en hexadécimal, mais ce n'est pas complètement pertinent par rapport à ce que j'explique ici. Naïvement, je voulais commencer à faire quelque chose que je ne pense pas pouvoir faire. Je voulais passer des propriétés d'objet dans un appel de méthode. Est-ce possible?passer variable par référence au sein de la classe? en php
class rgb {
private $r;
private $b;
private $g;
public function __construct($hexRgb) {
$this->r = substr($hexRgb, 0, 2);
$this->g = substr($hexRgb, 2, 2);
$this->b = substr($hexRgb, 4, 2);
}
private function add(& $color, $amount) {
$color += amount; // $color should be a class property, $this->r, etc.
}
public function addRed($amount) {
self::add($this->r, $amount);
}
public function addGreen($amount) {
self::add($this->g, $amount);
}
public function addBlue($amount) {
self::add($this->b, $amount);
}
}
Si cela est impossible en PHP, ce qui est appelé et cela est-il possible dans quelles langues?
Je sais que je pouvais faire quelque chose comme
public function add($var, $amount) {
if ($var == "r") {
$this->r += $amount
} else if ($var == "g") {
$this->g += $amount
} ...
}
Mais je veux le faire de cette façon cool.
Je viens de le tester et il semble fonctionner ... Je me sens comme un l33t h4X0r aujourd'hui! – user151841
vous êtes une élite haxx0r, parce que j'ai pensé à cela aujourd'hui moi-même! – r3wt