gpt4 book ai didi

可变长度参数数组的 PHPDoc

转载 作者:可可西里 更新时间:2023-10-31 22:10:27 24 4
gpt4 key购买 nike

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

我正在特别考虑 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 数组传入的值覆盖它自己的值,有效地允许您破坏私有(private)成员。我不是粉丝,但我坚持使用它。

最佳答案

我从来没有见过任何“好”的方式来记录这个——我也从来没有见过任何可以被 IDE (比如 Eclipse PDT) 用于参数提示的东西:- (

我会说“像你的框架那样做”,但正如你所说,它在这里所做的还不够好......


不过,也许一个快速/排序的可能键列表总比没有好;有点像这样:

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

不确定它会如何被 phpDocumentor 或 IDE 解释......但可能值得一试?

顺便说一句,这就是我倾向于避免这种传递参数方式的原因之一——至少在方法没有太多(可选)参数时是这样。

关于可变长度参数数组的 PHPDoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2009122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com