调用内置的CodeIgniter函数

时间:2016-02-25 18:39:17

标签: php codeigniter

好吧,假设我有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);
   }
}

1 个答案:

答案 0 :(得分:0)

有多种方法可以做到这一点。

  1. 让它成为一个班级。使用自定义表单函数创建一个新类,并在需要时进行实例化。虽然CodeIgniter中的帮助程序应该是无类别的,但这样可以很好地组织代码。例如,

    class CustomFormHelper {
       function form_input() {
           // your code 
       }
    }
    $form_helper = new CustomFormHelper();
    $form_helper->form_input();
    
  2. 更改功能名称。正如评论者所说,只需更改功能名称,就应该快速修复。

  3. 制作多功能游戏。 这不是最干净的解决方案,但如果你想统一两者,这应该可以解决问题。

    function form_input_unified($fn, $args) {
        if ($fn == 1) {
            // execute original...
        } elseif ($fn == 2) {
            // do it new way.
        }
    }