класс — Как предоставить аргумент конструктора для других методов в PHP?

У меня следующий класс:

class User {
$con = mysqli_connect('localhost', 'root', '', 'thefilenet');

public function __construct($username) {
// code code code
}

public function isVerified($username) {
$q1 = mysqli_query($con, "SELECT `Verified` FROM `_users` WHERE `Username` = '$username'");
$verified = mysqli_fetch_array($q1)[0];
return ($verified == 1) ? true : false;
}

public function thisThat($username) {
// ...
}
}

Также есть много методов, которые содержат по крайней мере один и тот же аргумент, $ username предоставляется конструктору в $user = new User('myUserName'); время. Теперь я хочу использовать эти методы без указания аргумента $ username каждый раз.

Мол, я должен быть в состоянии сделать $user->isVerified(); вместо $user->isVerified('myUserName');

Как мне этого добиться?

PS: $username Аргумент требуется в каждом методе для динамического выбора таблицы / записи.

0

Решение

Просто сохраните $username Вы предоставляете конструктору в классе частную собственность для будущего использования:

class User
{
private $username;

function __construct($username) {
$this->username = $username;
}

function isVerified() {
// check $this->username
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]