凡置于笨全局函数(Where to place global functions in codeig

2019-06-24 23:59发布

我已经创建了一些实用功能,如一个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