php écraser le = action d'une variable instanciée [double]
-
27-10-2019 - |
Question
Possible en double: surcharge
Je suis en train de créer une bibliothèque qui permet à des variables typées en php. Je veux faire ce qui suit:
class int extends typeClass{
protected $value;
public function __construct($value){
// Check if the parameter is a integer.
if( ! is_int($value) ){
throw new typeIntegerException('This isn\t an Integer.');
}
$this->value = $value;
}
// Returns the $value instead of the int class
public function __get(){
return $this->value;
}
// Sets $value instead of the class
public function __set($value){
if( ! is_int($value) ){
throw new typeIntegerException('This isn\t an Integer.');
}
$this->value = $value;
}
}
$test = new int(5);
$test = "3";
Où $ test = "3"; Je veux appeler __set ou une autre méthode ici au lieu de faire $ test « 3 ». Est-il possible de le faire?
Merci à l'avance,
Bonjour, Bob
La solution
Votre option la plus proche est la bibliothèque Spl Types
. Le problème est qu'il est considéré comme expérimental et peut être dépréciée. Le bienfait est qu'il fait exactement ce que vous essayez de faire.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow