Php 如果函数是在 class 之外调用的

Php if function was called outside of class

我正在为网络平台制作 SDK,有一个客户端 class 需要 cookie 进行授权,并且有一个函数可以从 cookie 获取身份验证令牌。所以我的问题是:如何检查函数是否在 class 之外被调用。我需要这个,因为我想用密码保护这个功能,如果 class 调用它,它可以在没有密码的情况下工作。 这是我的代码:

public function gettoken(?string password = ""): string{
    //check if it's called inside of class
    if (fromClass() == true){
       //code that gets token
    }
    //if it's called outside of class
    if ($password == $this->password){
       //code that gets token
    }
    return "Incorrect password";
}

这听起来很像个坏主意。

为什么不创建两个函数:一个 public 需要密码,另一个不需要密码。 public函数当然可以在验证密码后调用私有函数

像这样:

public function getTokenUsingPassword($password)
{
    if ($password == $this->password) {
        return $this->getToken();
    }
    return false;
}

private function getToken()
{
    return //code that gets token
}