我目前正在使用一个函数来获取所有用户的信息,然后完成一些阶段。我想知道这不是最好的方法。
我目前使用的是什么
function GetUserInfo()
{
if(!$this->DBLogin())
{
$this->HandleError("Database login failed!");
return false;
}
$conn = $this->connection;
$query = "SELECT * FROM $this->tablename WHERE account=?";
$query = $conn->prepare($query);
$query->execute([$_SESSION['uid']]);
$row = $query->fetch();
return $row;
}
然后
if ($row['status'] == 0)
{
// Do something here
}
elseif ($row['info'] == "Bazinga")
{
// Do something here
}
else
{
// Do something here
}
我想的替代方案是这样的(加上用于验证每个阶段的更多功能)
function CheckStageA()
{
if(!$this->DBLogin())
{
$this->HandleError("Database login failed!");
return false;
}
$conn = $this->connection;
$query = "SELECT status FROM $this->tablename WHERE account=?";
$query = $conn->prepare($query);
$query->execute([$_SESSION['uid']]);
$row = $query->fetch();
if($row['status'] == 0)
{
return false;
}
return true;
}
有这样的东西
if ($checking->CheckStageA())
{
// Do something here
}
elseif ($checking->CheckStageB())
{
// Do something here
}
else
{
// Do something here
}
好吧我想的替代品需要更多编码,但也许这是一种更合适的方法。