在线文档教程
Codeigniter 3

帮助函数 | Helper Functions

辅助函数

顾名思义,助手可以帮助你完成任务。每个帮助程序文件都是特定类别中功能的集合。有帮助创建链接的URL助手,帮助您创建表单元素的表单助手,文本助手执行各种文本格式化例程,Cookie助手设置和读取Cookie,文件助手帮助您处理文件等。

与CodeIgniter中的大多数其他系统不同,Helpers不是以面向对象的格式编写的。它们是简单的程序功能。每个帮助函数执行一个特定任务,而不依赖于其他函数。

默认情况下,CodeIgniter不加载Helper文件,因此使用Helper的第一步是加载它。加载之后,它将在控制器和意见...

帮助程序通常存储在您的系统/助理员,或应用程序/助手目录.CodeIgniter将在您的应用程序/助手目录如果目录不存在,或者指定的助手不在那里,CI将查看您的全局目录。系统/助理员/目录。

加载助手

使用以下方法加载助手文件非常简单:

$this->load->helper('name'

何地名称对象的帮助程序的文件名。PHP文件扩展名或“助手”部分。

例如,要加载名为url_helper.phpURL Helper文件,您应该这样做:

$this->load->helper('url'

一个助手可以在你的控制器方法中的任何地方加载(或者甚至在你的View文件中,尽管这不是一个好习惯),只要你在使用它之前加载它。您可以将控制器加载到控制器构造函数中,以便它们可以在任何函数中自动使用,或者可以在需要它的特定函数中加载帮助器。

上面的HelperLoad方法不返回一个值,所以不要尝试将它赋值给一个变量。如图所示。

装载多名助理员

如果需要加载多个助手,可以在数组中指定它们,如下所示:

$this->load->helper( array('helper1', 'helper2', 'helper3')

自动装货帮手

如果您发现在整个应用程序中全局都需要一个特定的助手,您可以告诉CodeIgniter在系统初始化期间自动加载它。这是通过打开application/config/autooload.php文件并将助手添加到自动加载数组中。

使用帮手

一旦加载了包含要使用的函数的Helper文件,您就会按照标准PHP函数的方式调用它。

例如,若要使用anchor()函数在视图文件中执行以下操作:

<?php echo anchor('blog/comments', 'Click Here'?>

其中“Clickhere”是链接的名称,而“blog/Comments”是指向希望链接到的控制器/方法的URI。

“扩展”助手

要“扩展”助手,在你的应用程序/助手/文件夹中创建一个与现有助手名称相同的文件,但前缀为MY_(该项目是可配置的,见下文)。

如果你只需要为现有的助手添加一些功能 - 可能需要添加一个或两个功能,或者改变特定助手功能的运行方式 - 那么用你的版本替换整个助手是矫枉过正的。在这种情况下,最好简单地“扩展”助手。

“EXTEND”一词使用松散,因为Helper函数是程序性和离散性的,不能在传统的方案意义上加以扩展。在引擎盖下,这使您能够添加或替换帮助提供的功能。

例如,要扩展本地Array Helper,您将创建一个名为application / helpers / MY_array_helper.php的文件,并添加或覆盖函数:

// any_in_array() is not in the Array Helper, so it defines a new function function any_in_array($needle, $haystack) { $needle = is_array($needle) ? $needle : array($needle foreach ($needle as $item) { if (in_array($item, $haystack)) { return TRUE; } } return FALSE; } // random_element() is included in Array Helper, so it overrides the native function function random_element($array) { shuffle($array return array_pop($array }

设置自己的前缀

文件名前缀“扩展”帮助是相同的,用于扩展库和核心类。若要设置自己的前缀,请打开application/config/config.php存档并查找此项目:

$config['subclass_prefix'] = 'MY_';

请注意,所有本机CodeIgniter库都以CI_为前缀,因此请勿将其用作前缀。

这次又是什么?

在目录中,您将找到所有可用帮助文件的列表。浏览每一个,看看他们在做什么。