我创建了一些实用功能h()
,例如充当echo htmlentities($var)
. 我希望这些功能随处可用。所以我把它放在哪里。
4 回答
正如@david barker 所说,您可能会使用助手。创建一个名为“site_helper”的文件,其中包含所有功能。
但是请注意,您需要检查该函数是否已经存在,否则您将收到“函数已声明”错误。
所以,像:
文件site_helper.php
(中application/helpers/
)
if(!function_exists('h'))
{
function h($value)
{
return htmlentities($value);
}
}
if(!functin_exists('other_function')
//....etc.
然后你可以在 config/autoload.php 中自动加载它:
$autoload['helpers'] = array('site');
^-- 注意你如何只使用下划线之前的部分来调用文件。此外,助手不是类,而是函数的集合。
您应该在 /application/config/constants.php 文件中包含全局变量文件。然后将您的全局函数文件移动到 /application/helpers 文件夹。然后你应该自动加载全局函数文件。/application/config/autoload.php
$autoload['helpers'] = array('your-global-function-file.php');
我建议不要在系统文件夹项目中移动任何东西,因为升级绝对是一场噩梦。有时重构你的代码以符合 CI 逻辑,从长远来看可能更快,而不是试图在整个地方复制/粘贴东西。
这正是 Helpers 的用途。
创建一个新的帮助程序(记得用 _helper.php 附加它)并将它放在您的帮助程序文件夹中。
您可以在配置中自动加载它(这样您就可以在任何地方使用它),也可以在需要时手动加载它。
使用codeigniter-kint和全局函数的自定义文件。这将为您提供更有用和更漂亮的输出,例如:
文件:application/helpers/globalfunctions_helper.php
<?php
/**
* @file Global Helper Functions
*
*/
if(!function_exists('pr'))
{
function pr($value=false){
$CI = get_instance();
$CI->load->library('kint');
return @Kint::dump($value);
}
}
if(!function_exists('dp')){
function dp($value=false)
{
$CI = get_instance();
$CI->load->library('kint');
Kint::dump($value);
die();
}
}