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