我很难让某些断点在我的项目中工作。这是我的项目的目录结构:
/repo (git root)
/Portal
/store
/classes
/mvc
/store
/actions
MyAction.php
/templates
/store1
/actions
MyChildAction.php (child of MyAction)
index.php
现在,如果我在" / store1"中的index.php中设置一个断点。它工作得很好。如果我在MyChildAction.php中设置断点,它可以正常工作。但是,如果我在" mvc"中设置了MyAction中的断点。目录完全被忽略了。如果我在MyAction.php中使用xdebug_break(),它确实有效,这让我感到困惑。由于文件结构和远程结构完全相同,我还没有设置任何路径图。
以下是应该命中的断点的xdebug日志:
< - breakpoint_set -i 10 -t line -f 文件:///Users/userName/Workspace/repo/Portal/store/classes/mvc/store/actions/MyAction.php -n 24 - >
(我已经重命名了很多目录,请原谅冗余的命名约定)
注意:它似乎与PSR 4自动加载有关。我在/ templates / store1目录中的index.php中定义了vendor / autoload。