好吧,假设我有100次调用“form_input”函数。这些调用包括文本(70)和上传(30)。
我的上传很简单。现在我改变一点并添加:图像预览和文件名预览。但我不想改变所有的地方(30),我可以而且这很容易,但我现在不想要。
我不想更改“核心”文件,如果这样,我更喜欢使用其他名称的函数。
form_input($p1, $p2, $p3){
if($p1['type']=='file'){
//do my lovely upload
}else{
//call built-in form_input (this is not a recursive call)
form_input($p1, $p2, $p3);
}
}
答案 0 :(得分:0)
有多种方法可以做到这一点。
让它成为一个班级。使用自定义表单函数创建一个新类,并在需要时进行实例化。虽然CodeIgniter中的帮助程序应该是无类别的,但这样可以很好地组织代码。例如,
class CustomFormHelper {
function form_input() {
// your code
}
}
$form_helper = new CustomFormHelper();
$form_helper->form_input();
更改功能名称。正如评论者所说,只需更改功能名称,就应该快速修复。
制作多功能游戏。 这不是最干净的解决方案,但如果你想统一两者,这应该可以解决问题。
function form_input_unified($fn, $args) {
if ($fn == 1) {
// execute original...
} elseif ($fn == 2) {
// do it new way.
}
}