标签: phpdoc

请求参数和phpdoc

可能重复:
是否有记录GET/POST参数的标准?

试图找出以有意义的方式通过phpdoc记录请求参数的最佳方法.具体来说,我有一些Zend Framework控制器动作通过GET/POST接收参数,但不是功能参数.这有意义吗?

/**
 * Display a pagination/grid list of rows.
 *
 * @param string $_GET['order']  What field to sort on
 * @param string $_GET['dir']    Direction to sort; either ASC|DESC
 * 
 * @return void
 */
public function listAction()
{
    $order = $this->_request->order;
    ...
Run Code Online (Sandbox Code Playgroud)

如果我为此方法生成了文档,则不会指示"order"和"dir"可以通过url字符串传递给此方法.这样做会更有意义吗?

@param string $order
Run Code Online (Sandbox Code Playgroud)

我应该使用@var吗?

欢迎思考.

php coding-style phpdoc

6
推荐指数
1
解决办法
3947
查看次数

使用PhpDoc记录PHP多重继承

我有这样的多重继承:我可以在PHP中使用多于一个类扩展一个类吗?(我们不要讨论这种方法)并希望我的IDE了解继承的类方法和属性.有没有办法用PhpDoc做到这一点?

php phpdoc multiple-inheritance

6
推荐指数
1
解决办法
5046
查看次数

可以让PHP解释器知道PHPDoc类型的提示吗?

作为一个Emacs用户,我唯一羡慕像PDT这样的"现代"编辑器是PDT理解类型,甚至是PHPDoc"类型提示",例如

  /**
   * @param DateTime $date
   * @param string $name
   * @return DOMDocument
   */
Run Code Online (Sandbox Code Playgroud)

目前我使用类型提示尽可能使PHP解释器在我获取参数类型错误时提醒我,但这仅在参数是对象时才有效.更重要的是,没有办法确保函数的返回值是特定类型.

这可能是一个很长的镜头,但有没有任何插件或其他方式使PHP解释器以与PDT相同的方式识别PHPDoc注释?理想情况下,如果我返回错误类型的值,或者如果我传递一个我已将参数声明为int的字符串,我希望得到致命错误.

php phpdoc

6
推荐指数
1
解决办法
556
查看次数

PHPdoc:记录可链接的方法?

我应该如何正确使用PHPdoc来记录类中的可链接方法,如下例所示 - 正确的用法是什么?

class myClass {


    /**
    * @return myClass
    */
    function one()
    {
        return $this;
    }

    /**
    * @return self
    */
    function two()
    {
        return $this;
    }

    /**
    * @return $this
    */
    function three()
    {
        return $this;
    }

}
Run Code Online (Sandbox Code Playgroud)

php oop documentation phpdoc

6
推荐指数
1
解决办法
412
查看次数

冗余的php docblock标签有什么意义,比如@static?

当在PhpStorm中使用自动php docblock生成时,我最终得到了@static一个静态方法的注释:

/**
 * Reset the singleton instance, for the tests only
 * @static
 */
public static function reset() {
    self::$singletonInstance = null;
}
Run Code Online (Sandbox Code Playgroud)

如果可以从代码中推断出这些标签有什么用处吗?我正在试图决定是否应该离开它或将其删除(并且在任何地方都这样做以使其保持一致).

php phpdoc docblocks phpstorm

6
推荐指数
1
解决办法
842
查看次数

如何在没有自动DocBlock格式的情况下在NetBeans中执行多行注释?

有时在我的代码中,我喜欢注释掉一段代码以供临时使用/参考等,例如:

/* 

blah

*/ 
Run Code Online (Sandbox Code Playgroud)

但是如果我想在该块中插入一行,当我点击回车时,它会自动在下一行放一个*就像我在做一个DocBlock一样,这是一个小麻烦.这发生在每个输入键上:

/* 

blah<enter pressed here>
*

*/ 
Run Code Online (Sandbox Code Playgroud)

现在我认为这种"自动格式化"只应在开场评论使用格式/**(两颗星)的情况下进行.多行注释在DocBlocks之前很长一段时间,所以我不确定为什么它强迫这些"老派"标准直接/**/评论有花哨的不需要的额外DocBlock*!

有没有办法:

  • a)理想情况下 - 如果开头标记为/**,则只进行格式化
  • b)或者如果它无法区分/*和/**,有没有办法完全禁用自动注释格式?

干杯

php comments netbeans javadoc phpdoc

6
推荐指数
1
解决办法
4701
查看次数

覆盖PHPDoc中的返回类型

我有一个Abc方法类(正文并不重要):

/**
 * @return SomeBaseClass
 */
function getAll() { ... }
Run Code Online (Sandbox Code Playgroud)

Abc被调用的子类中,AbcChild我想重新定义返回类的类型,以便在Netbeans中正确地看到它.我可以不重新定义方法吗?

/**
 * @return SomeClass
 */
function getAll() { return parent::getAll(); }
Run Code Online (Sandbox Code Playgroud)

phpdoc

6
推荐指数
1
解决办法
3241
查看次数

phpDocumentor - 无法找到GraphViz包的dot命令

我想问一些关于我下一个问题的帮助:我正在研究一个Symfony2项目.我们通过composer安装了Symfony2.现在我想生成phpDocumentor使用的phpDocument.

A执行了以下步骤:

  1. 更新作曲家:sudo php composer.phar自我更新
  2. 将以下属性添加到Symfony2/compose.json文件:

    "require-dev": {
        "phpdocumentor/phpdocumentor": "2.*@dev"
    },
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行composer命令

    sudo php composer.phar update
    
    Run Code Online (Sandbox Code Playgroud)

结果很成功!已安装的GraphViz版本为:1.0.2

当我尝试从源代码生成phpDoc时,我得到了一条消息: 无法找到dotGraphViz包的命令.GraphViz是否已正确安装并存在于您的路径中? (文件生成正确......)

我试图找到关于这个问题的解决方案,但我不能.
有人可以帮我解决这个问题吗?

环境是:Ubuntu发布12.04

phpdoc graphviz symfony composer-php

6
推荐指数
2
解决办法
5853
查看次数

phpdoc用于继承方法

我有一个类A和一些返回bool值的方法.我为该方法制作了phpdoc.

我创建了另一个类B,它扩展了A类并覆盖了方法.新方法返回字符串.(我知道在一般情况下更改返回类型不是一个好主意,但在我的情况下,这是一个好方法.)

我想为新方法制作phpdoc.我可以使用{@inheritDoc},但它需要旧方法的完整phpdoc.我想从旧的phpdoc一般方法描述和参数规范,但更改返回值的描述.

我怎么能这样做?

php inheritance phpdoc

6
推荐指数
1
解决办法
3638
查看次数

PHPDoc"静态"返回类型在这里表示什么?

我正在与由Doctrine管理的实体合作开发Symfony项目.以下是我的实体的代码:

class User {
    /**
     * @ORM\OneToMany(targetEntity="Appointment", mappedBy="user")
     */
    private $appointments;

    /**
     * Get appointments
     *
     * @return \Doctrine\Common\Collections\ArrayCollection
     */
    public function getAppointments()
    {
        return $this->appointments;
    }

    /**
     * Get appointments at a specified date
     *
     * @param \DateTime $date
     * @return \Doctrine\Common\Collections\Collection|static
     */
    public function getAppointmentsAtDate(\DateTime $date) {
        $allAppointments = $this->getAppointments();

        $criteria = Criteria::create()->where(/* some clever filtering logic goes here */);

        return $allAppointments ->matching($criteria);
    }
}
Run Code Online (Sandbox Code Playgroud)

getAppointments是由Doctrine自动生成的.该getAppointmentsAtDate方法由我自己实施.该方法的PHPDoc标头由PhpStorm自动生成.

我无法理解的是static我的自定义方法的返回类型中的关键字.

根据我对PHPDoc类型的 理解,static表示此方法返回调用它的类的实例,在本例中为User …

php phpdoc symfony doctrine-orm phpstorm

6
推荐指数
1
解决办法
891
查看次数