NetBeans не останавливается на некоторых точках останова в коде PHP

У меня проблема с 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

Решение

Я решил проблему. Я изменил пространство имен в нижний регистр, прежде чем было в camelcase, и я изменил пространство имен регистров точно на структуру папок.

Прежде чем в контроллере:

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();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]