【问题标题】:How To Supply Constructor Argument To Other Methods In PHP?如何为 PHP 中的其他方法提供构造函数参数?
【发布时间】:2015-01-23 04:49:09
【问题描述】:

我有以下课程:

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参数。

【问题讨论】:

  • 抱歉,您的$con=mysqli_connect() 在类方法之间做了什么?
  • 将用户名放在构造函数的类属性中。
  • @OlegDubas 我正在使用此连接$con 以不同的方法从 mysql 表中检索数据。

标签: php class oop object-oriented-database


【解决方案1】:

只需将您提供给构造函数的$username 保存在类私有属性中以供将来使用:

class User 
{
    private $username;

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

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

【讨论】:

  • 是的,正是我正在寻找的!太愚蠢了,它从我的脑海中跳了出来!谢谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-08
  • 2021-06-15
相关资源
最近更新 更多