是否可以限制在PHP中调用方法的方式?

Ash*_*Ash 3 php methods scope

鉴于我的班级看起来像这样:

class Methods{
    function a(){
        return 'a';
    }

    function b(){  
        $this->a();   
    }

    function c(){ 
        $this->a();
    }  
}
Run Code Online (Sandbox Code Playgroud)

是否有可能确保只能从函数b 调用函数a?

在上面的例子中,函数c应该失败.我可以把它包含在函数b中,但将来我可能想让a()一些新函数(例如d()或e ())调用它

Mar*_*ker 8

首先要了解公共方法,私有方法和受保护方法之间的区别......在想要做一些非常复杂的事情之前,至少要掌握一些OOP基础知识是有用的.是的,可以使用debug_backtrace()来识别对方法的调用的位置; 但这是一个非常大的开销....我认为实际设置这样的限制没有任何价值.