使用任何IDE我们都会依赖ctrl/cmd+鼠标单击类/变量的方式寻找对象/类的出处(jump to source)。
但是在laravel5这类使用了psc-4开发规范里framework里,找到真正的类是很困难的一件事,因为实例interface的地方很难找,见图1.
接下来就说说具体是怎么操作的。
案例说明手法
Guard类里有一个成员属性$provider,它是interface UserProvider的 implements类实例对象。想搞明白它是怎么运作的,你第一时间会使用ctrl/cmd+单击图2中变量名想要跳转到实例所在的类进行查看,但是很可惜,你只会跳到interface。你无法获知这个interface究竟是怎么被实现的。
这时一个小技巧分分钟解决掉这个问题。
使用PHPstorm的debug功能运行项目(这样才能够追踪程序的每一个类是怎么实例的),记得先随意设置一个断点让程序break在断点处,如何配置debug就不说了。浏览器会打开项目网页,不管,回到IDE选中你想看结果的代码,右键找到“Evaluate”,会弹出图2中的窗口,此时result所指的类,就是这行代码产生结果的source!恭喜你!答对了!
发表回复