symfony - 如何使用 phpstorm 和 symfony2 插件获得容器的自动完成功能?

标签 symfony configuration autocomplete phpstorm type-hinting

我使用phpstorm。在开发 symfony2 应用程序时,我习惯使用 symfony2 插件为容器服务提供自动完成功能:

[symfony2 example

这也提供了返回对象的补全。

在仅使用部分 symfony2 组件(即容器组件)的非 symfony PHP 项目中使用容器组件时,有没有办法让服务完成工作?

我知道在 phpstorm 的设置中:

Other Settings > Symfony2 Plugins > Container

我可以添加额外的 xml 容器文件,但我不知道它应该是什么样子。

我如何创建这样的文件?

例如,我通过以下方式创建一个容器:

/**
 * @return ContainerBuilder
 * @todo Initialize the container on a more reasonable place
 */
private function createServiceContainer()
{
    $container = new ContainerBuilder();
    $loader = new YamlFileLoader($container, new FileLocator(ROOT_PATH . '/config'));
    $loader->load('services.yml');

    return $container;
}

我的 services.yml 看起来像这样:

services:
    redis:
        class: App\Framework\RedisService
    doctrine:
        class: DoctrineService
        factory: [\App\Database\DoctrineService, getDoctrine]

我如何创建一个 symfony2 插件可以理解的 container.xml 并为我提供两个服务 redisdoctrine容器?

最佳答案

该 XML 文件是由 ContainerBuilderDebugDumpPass 创建的编译器传入 Symfony2 标准版,可以看到它使用 XmlDumper创建文件。

关于symfony - 如何使用 phpstorm 和 symfony2 插件获得容器的自动完成功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32225993/

相关文章:

mysql - 在哪里可以找到包含所有参数的 mysql 配置文件?

android-studio - 自动完成功能在带有 Flutter 的 Android Studio 中无法正常工作 - 第一个建议无关紧要

javascript - 如何通过ajax提交tinyEditory的内容?

php - Symfony2 中生成的 URL 的用例?

php - 如何在 Symfony2 中增加登录 session 过期时间?

configuration - 在 TeamCity 中,当前构建 ID 是否有系统/环境变量?

java - 如何在 Web 服务器上设置 tomcat.runtime.environment.version?

javascript - 如何使用 javascript 或 JQuery 禁用自动完成功能?

html - autocomplete=new-password 并让他们通过再次输入密码进行确认

php - 使用 Symfony DomCrawler 选择文本节点