あなたが与えた例は、おそらくあなたが達成しようとしていることにはうまくいかないでしょう。userdataが何をするのかは明確ではありません。改訂:
class User {
private $id;
private $username;
private $password;
private $email;
private $admin;
public function __construct($id, $username, $password, $email, $admin) {
$profileData = user_data($profile_user_id
,'id'
,'username'
,'password'
,'email'
,'admin');
$this->id = $profileData ['id'];
$this->username = $profileData ['username'];
$this->password = $profileData ['password'];
$this->email = $profileData ['email'];
$this->admin = $profileData ['admin'];
}
public function getId(){ return $this->id; }
public function getUsername(){ return $this->username; }
public function getEmail(){ return $this->email; }
public function getAdmin(){ return $this->admin; }
public function setAdmin($admin){ $this->admin = $admin; }
}
変数はプライベートに設定されます。ユーザーオブジェクトのみがデータに直接アクセスできる必要があります。ただし、他のオブジェクトがデータを取得したい場合があるため、4つのパブリックget関数があります。getPasswordは、公開されたくないため、省略されました。また、新しい管理者を設定することも考えられるので、パブリックセッター機能も追加しました。したがって、新しいユーザーをインスタンス化します(つまり、クラスを取得して実際の例を作成します)。
$user1 = new User(1);
そして、使用中にこれらの変数を次のようにエコーします。
echo $user1->getUsername();
あなたの質問に直接答えなかったことをお詫びしますが、その例は問題に向かっています。