简单的在线检查器

Simple Online Checker

致力于通过我正在构建的 CMS 轻松判断用户是在线还是离线,截至目前,我已经

class IUser {
    public function User($arg) {
        switch($arg) {
            case "online":
            self::CheckKey();
            break;
        }
    }
    public function CheckKey() {
        if(isset($_SESSION['key']['userid'])) {
            return true;
        }
        else {
            return false;
        }
    }
}

然后为了实际检查我有

$user = new IUser();
if($user->User("online") == true) {
    echo "user online";
}
else {
    echo "user offline";
}

所以理论上它应该在没有设置 id 密钥时显示用户离线,但它总是 returns 错误。如果有人看到我在这里做错了什么,将不胜感激。

您的 User() 函数必须 return 某些...

<?php

session_start();

$_SESSION['key']['userid'] = 1;


class IUser
{
    public function User( $arg )
    {
        switch( $arg ) {
            case "online":
                return self::CheckKey();
            break;
        }
    }
    public function CheckKey()
    {
        if( isset( $_SESSION['key']['userid'] ) ) {
            return true;
        } else {
            return false;
        }
    }
}

$user = new IUser();
if( $user->User( "online" )  ) {

    echo "user online";

} else {

    echo "user offline";

}

?>

User 函数没有 return 任何东西。您需要一个额外的 return 来将检查结果传播给调用者:

public function User($arg) {
    switch($arg) {
        case "online":
        return self::CheckKey();  // < -- At the start of this line.
        break;
    }
}