【问题标题】:PHPdoc does not detect object (and other properties)PHPdoc 不检测对象(和其他属性)
【发布时间】:2015-12-03 23:06:45
【问题描述】:

我正在尝试使用正确的信息为我的项目创建一个 PHP 文档。 我正在尝试为在类的方法中创建的对象创建信息。 遗憾的是,PHPdoc 在我的函数中无法识别我的对象。

代码如下:

class app_controll
{
/**
  * This function starts the application. All the functionality starts here.
  * @return Objects Method returns all the objects and functions needed to build a page.
  */
public function start_application() 
     {
     /**
      * The domain_controll object contains domain information.
      * @var object domain_controll
      */
     $oDomain_controll = new domain_controll();
     }
}

我定义错了什么?

【问题讨论】:

  • 这行得通吗? /* @var $oDomain_controll domain_controll */
  • 遗憾的是,PHPdoc 似乎没有检测到整个对象。通常一个变量总是显示在文档中,即使它没有 cmets。这个对象甚至没有在文档中显示,类似于方法内部定义的所有属性?

标签: php object phpdoc


【解决方案1】:
class app_controll
{
/**
  * This function starts the application. All the functionality starts here.
  * @return Objects Method returns all the objects and functions needed to build a page.
  */
public function start_application() 
     {
     /**
      * The domain_controll object contains domain information.
      * @var $oDomain_controll domain_controll
      */
     $oDomain_controll = new domain_controll();
     }
}

用法是:@var objectName className

【讨论】:

  • 这也不适用于我的模型。 /** @var $oDomain_controll app_controll blabla*/
【解决方案2】:

我也在 Github 上问过这个问题。我收到了 James Pittman 的回复:

在这种情况下,$oDomain_controll 将是一个内部变量,可见 仅在 start_application() 函数中。没有理由 将其包含在 API 文档中,因为它不可用或 可由 app_controll 类的使用者查看。如果你想做 它是 app_controll 类的公共成员,你应该声明它 在 start_application() 函数之外:

class app_controll()
{
    /**
     * The domain_controll object contains domain information.
     * @var domain_controll
     */
    public $oDomain_controll;

    public function start_application()
    {
        $oDomain_controll = new domain_controll();
    }
}

谢谢你的回答詹姆斯:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多