NetBeans不会在PHP代码中的某些断点上停止

时间:2017-03-03 22:53:55

标签: php netbeans xdebug breakpoints phalcon

我有xdebug的问题,因为不要在某些断点处停止。

我的项目有MVC架构,在我创建子控制器的过程中,所有项目都可以正常运行,因为在子控制器中,断点不起作用。如果我将xdebug_break()放在子控制器中,那么它可以工作。

我查了xdebug_remote.log

此断点不起作用

<- breakpoint_set -i 1309 -t line -s enabled -f file:///var/www/my_project/app/controllers/settings/LanguageController.php -n 18
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="1309" state="enabled" id="59770002"></response>

此断点正常工作

<- breakpoint_set -i 1310 -t line -s enabled -f file:///var/www/my_project/app/controllers/IndexController.php -n 15
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="1310" state="enabled" id="59770003"></response>

有可能,名称空间有罪吗?控制器和子控制器之间的一个区别是名称空间。在控制器中它没有定义,但在子控制器中定义。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。我在使用camelcase之前将命名空间更改为小写,并且我在完全文件夹结构上更改了register命名空间。

在控制器之前:

namespace MyApp\Controllers\Settings;
在loader.php中

$loader->registerNamespaces( [ 'MyApp\Controllers\Settings' => DIR.'/../controllers/settings' ] )->register();

之后(正常工作)

控制器中的

namespace app\controllers\settings;
在loader.php中

$loader->registerNamespaces( [ 'app\controllers\settings' => DIR.'/../controllers/settings' ] )->register();