Php 如何处理过程库调用中的参数复杂性

Php 如何处理过程库调用中的参数复杂性,php,refactoring,tcpdf,Php,Refactoring,Tcpdf,我正在使用一个名为TCPDF的库,有一个特殊的问题——例如,我想使用writeHTMLCell函数 在代码中,我有如下内容: writeHTMLCell($w1,,'',$ypos,$html2['left']); writeHTMLCell($w2,,$xpos,$ypos,'插图',0,1); writeHTMLCell($w2,,'',$html2['right'],0,1); writeHTMLCell($width,,'',$ypos,$html,0,1); writeHTMLCell

我正在使用一个名为TCPDF的库,有一个特殊的问题——例如,我想使用
writeHTMLCell
函数

在代码中,我有如下内容:

writeHTMLCell($w1,,'',$ypos,$html2['left']);
writeHTMLCell($w2,,$xpos,$ypos,'插图',0,1);
writeHTMLCell($w2,,'',$html2['right'],0,1);
writeHTMLCell($width,,'',$ypos,$html,0,1);
writeHTMLCell(“”,“”,“”,$html,0,1);
writeHTMLCell(0,,'','',$ypos,$html,0,0,false,true,,,false);
writeHTMLCell(40,0,51,65,$html,0,1,0,true,'L',true);
等等。这只是其中一个功能。还有很多。要使用这些函数,我必须知道、记住或查找:

  • 参数的顺序
  • 我需要的参数是什么
  • 哪些参数可以跳过/默认

我正在寻找一种方法来简化编写/编辑这些函数参数的任务。如何做到这一点?

一种方法是编写自己的包装器类,但我认为对于第三方库来说,这太多了。这几乎就像创建一个第三方独立的产品,这不是我想做的事情。另一种方法是使用带有参数列表的数组,如

//我正在用自己的值准备数组
$param=array('width'=>$width,'height'=>$height,'padding'=>$padding);
//从现在起,我将始终以语法方式调用此函数:
writeHTMLCell($param['width'],$param['height'],…,$param['padding']);
这种方式并没有隐藏复杂性,事实上,它向它添加了一些代码,但这样做可以消除函数调用的神秘性,并使复杂性立即可见


我想知道是否有其他方法可以做到这一点,或者我已经描述了一种非常好的方法吗?

大多数IDE(链接中的NetBeans)都是这样做的。您还可以获得和,以及更多。

如果您使用IDE并将TCPDF作为库或包含在项目中,当您启动此
writeHTMLCell(
)时,它将弹出参数列表作为提示。Netbeans是其中之一,其他人也会这样做。
writeHTMLCell ($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=false,
               $reseth=true, $align='', $autopadding=true);