请求参数和phpdoc

typ*_*ror 6 php coding-style 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吗?

欢迎思考.

Lan*_*ing 5

我会避免与@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);
} 
Run Code Online (Sandbox Code Playgroud)