Je tente de créer des attributs dans une classe à l'aide d'une méthode. Il est possible de créer un attribut, mais comment puis-je ajouter une portée aux attributs? Par exemple, je veux que wachtwoord (mot de passe) soit privé, mais que le prénom soit public.Définition de l'attribut de classe avec l'étendue de la méthode
Code actuel
class UserEntity extends Entity{
/**
* UserEntities constructor.
*/
public function __construct($user_id){
parent::__construct();
$this->loadDatabase();
$this->get($user_id);
}
/**
* Get user form database
*
* @param $user_id
*/
private function get($user_id){
$prepare = $this->database->prepare("
select * from gebruiker where gebruikerid = :user_id;
");
$prepare->bindValue(':user_id', $user_id);
$prepare->execute();
$result = $prepare->fetch($this->fetchMethod);
foreach($result as $key => $value){
$this->{$key} = $value;
}
}
Résultat (print_r)
UserEntity Object
( [base de données: protected] => AOP objet ( )
[gebruikerid] => test_val
[0] => test_val
[voornaam] => test_val
[1] => test_val
[achternaam] => test_val
[2] => test_val
[email] => test_val
[3] => test_val
[rol] => test_val
[4] => test_val
[wachtwoord] => test_val
[5] => test_val
[laatstelogin] => test_val
[6] => test_val
[status] => test_val
[7] => test_val
[registratiedatum] => test_val
[8] => test_val
[afbeeldingurl] => test_val
[9] => test_val
[initialen] => test_val
[10] => test_val
[geboortedatum] => test_val
[11] => test_val
[bsn] => test_val
[12] => test_val
[laatstonline] => test_val
[13] => test_val
)
Merci!
Désolé pour le résultat buggé. –