Windows上的Symfony2 framework.ide设置

时间:2013-09-06 20:24:46

标签: php symfony

我目前正在尝试学习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>

有没有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

有一种方法,你甚至不需要远程调用插件。您可以在Windows注册表中注册自定义协议处理程序并编辑framework.ide以使用该处理程序。

请参阅:https://github.com/aik099/PhpStormProtocol