PHP - 为什么我不能在公共方法中使用私有方法?

Jon*_*mer 0 php oop

为什么我无法访问"newSession"函数中的"incSessionCount"函数?

class Session {
    private $_num_session = 0;

    private function incSessionCount() {
        $this->_num_session++;
    }

    public static function newSession($key, $value) {
        if( !isset( $_SESSION[$key] ) ) {
            $_SESSION[$key] = $value;
            $this->incSessionCount();
            return true;
        } else {
            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我只是玩耍,就像制作incSessionCount() public等等......然后我想,它必须是可以访问的,当它被设置为private......

有可能,我错过了一篇有用的文章,应该对我有所帮助,但最后我终于要问了.

那么为什么这不起作用呢?

moo*_*e99 6

问题是你newSessionstatic,所以你不应该从它调用实例方法.