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,为什么我倾向于避免这种传递参数的方法的一个原因 – 至少当方法没有太多(可选)参数时. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |