Laravel 如何知道谁调用了方法
那么问题来了,假设我有两个文件:
AController.php 我在A文件里面调用B文件里面的方法
public function kimiya() {
B::testCall();
}
BController.php
function testCall() {
//.....
// 我想在这里打印出谁调用了我,
// 就是我想打印出AController和kimiya
};
那么问题来了,我如何在B文件的testCall里面知道是谁调用了我?
比如我可以用什么函数方法可以打印出,A文件的模型名称、当前调用testCall的方法名之类的东西;
就是方法自身想知道被谁调用了。大概就是这个意思。。。
首先不能通过 request()->route() 因为路由是对应不上的;
流程图
如果是调试需要,我觉得可以采用类似
debug_backtrace()
之类的方案;实际代码逻辑中是不建议出现「某函数依赖其调用方」这样的设定的。