PHPDoc用于可变长度的参数数组

是否有用于记录功能的语法,该函数采用单个配置数组,而不是单个参数?

我正在考虑使用类似于以下机制的CodeIgniter样式库:

<?PHP

//
// Library deFinition
//

class MyLibrary {
  var $foo;
  var $bar;
  var $baz;
  // ... and many more vars...


  /* Following is how CodeIgniter documents their built-in libraries,* which is mostly useless.  AFAIK they should be specifying a name
   * and description for their @param (which they don't) and omitting
   * @return for constructors 
   */

  /** 
   * @access public
   * @param array
   * @return void
   */
  function MyLibrary($config = array()) {
    foreach ($config as $key => $value) {
      $this->$key = $value;
    }
  }
}

//
// Library usage:
//

// Iniitialize our configuration parameters
$config['foo'] = 'test';
$config['bar'] = 4;
$config['baz'] = array('x','y','z');

$x = new MyLibrary($config);

?>

所以我的问题是,有没有一些限制的方式记录配置数组,而不仅仅是纯文本描述?实际指定一个适当的@param [type] [name] [desc],允许PHPDoc解析出有用的值?

除此之外,CodeIgniter真的只是覆盖那些通过$config数组传入的值,它们有效地允许你隐藏私有成员.我不是粉丝,但我被困住了.

我从来没有看到任何“好”的记录方式 – 我从来没有看到IDE可以使用的任何东西(如Eclipse PDT),参数暗示:-(

我会说“像你的框架一样”,但正如你所说,这里做的不够好,

可能一个快速/排序列表可能的键可能比没有更好,但是;有点像这样:

@param array $config [key1=>int,otherKey=>string]

不知道如何解释PHPDocumentor或IDE …但可能值得一试?

这是btw,为什么我倾向于避免这种传递参数的方法一个原因 – 至少当方法没有太多(可选)参数时.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...