📜  Codeignitor 中的助手

📅  最后修改于: 2022-05-13 01:56:39.043000             🧑  作者: Mango

Codeignitor 中的助手

Helpers 是 codeignitor 之类的库中可重用的代码。唯一的区别是库是类的集合,而 helper 被定义为单独的独立函数集。使用前需要加载辅助函数。我们可以在 codeignitor 文档 Codeignitor Helpers 中找到所有帮助程序,并且可以使用取决于需求的种类。
创建控制器用户。 PHP然后我们可以使用下面的代码来使用助手。

控制者:用户。 PHP

load->helper('form');
    }   
}
?>

如果我们需要加载多个助手,我们可以创建一个数组,然后我们可以在该数组中定义所有助手的名称。

$this->load->helper(array('form', 'email', 'url'));

自定义助手: Codeignitor 已经有很多内置助手,但是如果我们需要创建一个不在助手中的函数,那么我们可以创建自己的自定义助手并像内置助手一样使用它。系统文件夹中提供了内置助手,但需要在 application/helpers 文件夹中创建自定义助手。创建一个文件abc_helper.应用程序/帮助程序文件夹中的PHP文件。下面是在我们的自定义助手中创建功能的示例。

自定义助手:abc_helper。 PHP


自定义助手可以像控制器中的内置助手一样使用。所以在我们的用户中。 PHP控制器使用下面的代码来检查这一点。

控制者:用户。 PHP

load->helper('abc');
         test();
       }    
  }
?

输出:

Custom helper for codeignitor

扩展助手:如果我们想在已经内置的助手中添加一些其他函数,我们可以很容易地做到这一点。扩展助手意味着在内置助手中添加更多函数或覆盖内置函数。它也是在同一个文件夹 application/helpers 中创建的,就像我们为自定义助手所做的那样。现在在这里我们需要记住,当我们为我们的帮助文件命名时,我们需要添加“MY_”前缀。所以创建一个文件MY_array_helper. PHP在 application/helpers 文件夹中并使用下面的代码。

扩展助手:MY_array_helper。 PHP


一旦数组助手被扩展,我们就可以在我们的控制器中使用它的附加函数“测试”。所以在控制器用户中。 PHP使用下面的代码从数组助手调用“测试”函数,然后我们将能够使用我们自己的函数。

控制者:用户。 PHP

load->helper('array');
  
        // Call the function
        test();
    }    
 }
?>

输出:

Extend array helper in codeignitor

到目前为止,我们都在扩展我们的助手并添加我们自己的功能,现在如果想要覆盖内置助手的函数,我们也可以这样做。要覆盖内置助手中的函数,我们需要给出该助手中已经存在的相同函数名称。所以,创建一个文件MY_array_helper.在 application/helpers 文件夹中创建 index.php 并创建一个已存在于 system/helpers/ PHP中的函数“元素”。 PHP

扩展助手:MY_array_helper。 PHP


现在在我们的控制器用户中。在PHP中,如果我们将加载数组助手并调用“元素”函数,它将给出我们覆盖的数组助手函数的结果,而不是 system/helpers/array_helper 的“元素”函数。 PHP它将完全覆盖数组辅助元素函数的功能,并给出我们在 'MY_array_helper. PHP'.

控制者:用户。 PHP

load->helper('array');
  
        // Define array for element function
        $arr= ['abc'=>'ABC', 'xyz'=>'XYZ'];
  
        // Call element function but it won't 
        // give the result of element function from 
        // inbuilt array helper exist in system folder
        echo element('abc', $arr, 'Not Found');
    }    
}
?>

输出:

Overridden extended array helper in codeignitor

因此,从上面的示例中可以清楚地看出,一旦我们覆盖了内置辅助数组的函数,它就会为我们提供我们自己在 MY_array_helper 中定义的“元素”函数的结果。 PHP而不是数组助手中较旧的一个“元素”函数。如果我们将删除我们的文件 MY_array_helper. PHP,我们将得到 system/helpers/array_helper 中存在的 'element'函数的结果。 PHP
输出:

ABC