我已经创建了一些实用功能,如一个h()
充当echo htmlentities($var)
我想论文的功能是随处可见。 所以我在哪里把它。
Answer 1:
作为@大卫巴克说,你可以用一个帮手。 创建一个命名的文件,例如,“site_helper”,包含所有功能。
要知道,你需要检查的功能已经存在,但是,否则你会得到一个“功能已经声明”的错误。
所以,这样的:
文件site_helper.php
(在application/helpers/
)
if(!function_exists('h'))
{
function h($value)
{
return htmlentities($value);
}
}
if(!functin_exists('other_function')
//....etc.
然后你就可以自动加载它在配置/ autoload.php:
$autoload['helpers'] = array('site');
^ - 注意你如何只使用部分下划线之前调用该文件。 此外,助手都没有课,但功能的集合。
Answer 2:
你应该包括你的全局变量在/application/config/constants.php的文件中。 那么你的全局函数文件移动到/应用/助手文件夹中。 那么你应该自动加载全局函数文件。 /application/config/autoload.php
$autoload['helpers'] = array('your-global-function-file.php');
我建议不动的系统文件夹项目中做任何事,如升级将是一个绝对的噩梦。 有时候,重构你的代码以符合CI逻辑,也许更快,从长远来看,而不是试图复制/粘贴的东西所有的地方。
Answer 3:
这正是助手是。
创建一个新的帮手(记得用_helper.php追加的话),并把它放在你的助手文件夹中。
您可以自动加载它在你的配置(这样你就可以在任何地方使用它),或在需要时手动只是加载它。
Answer 4:
用笨,编制品及全球功能自定义文件。 这会给你一个更有益的和漂亮的输出,如:
文件:应用程序/佣工/ 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();
}
}
参见: http://raveren.github.io/kint/
文章来源: Where to place global functions in codeigniter