php - 请求参数和 phpdoc

标签 php coding-style phpdoc

<分区>

Possible Duplicate:
Is there a standard for documenting GET/POST parameters?

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

/**
 * 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;
    ...

如果我为此方法生成文档,则不会有指示表明“order”和“dir”可以通过 url 字符串传递给此方法。这样做是否更有意义

@param string $order

我应该改用@var 吗?

欢迎提出想法。

最佳答案

我会避免使用@param。

您还可以制作一个 _validate() 方法,使其在代码中显而易见。然后您可以使用 _validate() 创建一个接缝以进行单元测试。

/**
 * Display a pagination/grid list of rows.
 *
 * Requires $_REQUEST['order'] and $_REQUEST['dir']
 * 
 * @return void
 */
public function listAction()
{
    list($order, $dir) = $this->_validate($this->_request);
    ...

private function _validate($request) {
    if (!$request->order)
         throw new InvalidArgumentException('"Order" must be in request');

    if (!$request->dir)
         throw new InvalidArgumentException('"Dir" must be in request');

    // maybe clean vars???
    //Zend_Filter_Numeric.....

    return array($request->order, $request->dir);
} 

关于php - 请求参数和 phpdoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1269086/

相关文章:

java - 将函数封装在第二个 .java 文件中?

phpdoc 与 phpxref

php - 如何与多个项目共享 Symfony2 模型

vim phpdoc 多行注释自动缩进

php - 如何记录可变数量的参数

php - 如何使用php传递输入类型的数据

php - SQL查询在数据库中运行,但在PHP中显示 "undefined index"

php - 更改具有相同值的行的顺序

PHP 控制运算符 (@) 不起作用

矩阵/vector 库中的java最佳实践