jmartin82/dic-doc

依赖注入容器结果的魔法类型提示

dev-master 2016-04-15 23:38 UTC

This package is not auto-updated.

Last update: 2024-09-20 18:54:12 UTC


README

依赖注入容器文档器

Build Status Coverage Status Scrutinizer Code Quality

问题

自从我在项目中使用依赖注入容器以来,IDE不再理解我的代码中的一些地方。

这个问题会影响处理类时的代码提示、自动完成和重构工具。然后我的IDE就变得没有用了。

解决方案

您可以“手动”定义DIC返回的变量的类

/** @var YourClassType $mailer */
$mailer = $container['mailer'];

使用两个星号,在变量名之前写上数据类型。您可以在没有变量名的情况下写上数据类型(但不能在没有数据类型的情况下写上变量名)。

在大多数IDE中,这个注释解决了您的问题。但是...

懒惰的解决方案

如果您像我一样是个懒惰的人,您可以使用DIC。

要记录代码中的任何变量,您应该使用dd函数将变量包围起来,执行代码,然后会发生黑魔法(好吧,不是太神奇,但它是有效的)!

之前

$mailer = dd($container['mailer']);

开始

/** @var YourClassType $mailer */
$mailer = $container['mailer'];

安装/使用

  1. 按照官方说明下载并安装Composer。

  2. 创建一个composer.json定义依赖关系。

    {
        "require-dev": {
            "jmartin82/DicDoc": "dev-master"
        }
    }
  3. 运行Composer: php composer.phar install

重要

  • 代码必须运行才能被替换
  • 永远不要在生产代码中使用dd函数
  • 始终审查更改
  • 记住,如果IDE没有自动刷新文件,请手动刷新。