加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:03:35 所属栏目:PHP教程 来源:网络整理
导读:是否有用于记录功能的语法,该函数采用单个配置数组,而不是单个参数? 我正在考虑使用类似于以下机制的CodeIgniter样式库: ?php//// Library definition//class MyLibrary { var $foo; var $bar; var $baz; // ... and many more vars... /* Following is ho
是否有用于记录功能的语法,该函数采用单个配置数组,而不是单个参数?

我正在考虑使用类似于以下机制的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,为什么我倾向于避免这种传递参数的方法的一个原因 – 至少当方法没有太多(可选)参数时.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读