我目前正在尝试学习Symfony2并尝试设置它。 Symfony2中有一个framework.ide设置,允许在IDE中打开控制器和操作。
我目前正在使用PhpStorm和Remote Call。我已经想出如何在Linux环境中使用它,但是,在Windows中,由于Windows使用向后斜杠(JavaScript似乎逃脱了),因此不希望它工作。
我目前的配置如下:
的 config_dev.yml
framework:
ide: 'javascript: var r = new XMLHttpRequest; r.open("get", "http://localhost:8091?message=%%f:%%l");r.send()'
这使调试器的操作名称链接到:
javascript: var r = new XMLHttpRequest; r.open("get", "http://localhost:8091?message=C:\Users\Hosh\vhosts\symfony\src\Acme\DemoBundle\Controller\WelcomeController.php:9");r.send()
哪个好,但是,JavaScript似乎将文件路径视为:
javascript: var r = new XMLHttpRequest; r.open("get", "http://localhost:8091?message=C:UsersUservhostssymfonysrcAcmeDemoBundleControllerWelcomeController.php:9");r.send()
我目前的解决方案是覆盖模板WebProfileBundle:Collector:request.html.twig
并通过替换过滤器手动运行链接,以便:
7. <span class="sf-toolbar-info-class sf-toolbar-info-with-next-pointer">{{ collector.controller.class|abbr_class }}</span>
8. <span class="sf-toolbar-info-method" onclick="{% if link %}window.location='{{link}}';window.event.stopPropagation();return false;{% endif %}">
9. {{ collector.controller.method }}
10. </span>
变为:
7. <span class="sf-toolbar-info-class sf-toolbar-info-with-next-pointer">{{ collector.controller.class|abbr_class }}</span>
8. <span class="sf-toolbar-info-method" onclick="{% if link %}{{ link|replace({'\\': '/'}) }}{% endif %}">
9. {{ collector.controller.method }}
10. </span>
有没有更好的解决方案?
答案 0 :(得分:0)
有一种方法,你甚至不需要远程调用插件。您可以在Windows注册表中注册自定义协议处理程序并编辑framework.ide以使用该处理程序。