У меня следующий класс:
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
Аргумент требуется в каждом методе для динамического выбора таблицы / записи.
Просто сохраните $username
Вы предоставляете конструктору в классе частную собственность для будущего использования:
class User
{
private $username;
function __construct($username) {
$this->username = $username;
}
function isVerified() {
// check $this->username
}
}
Других решений пока нет …