【问题标题】:How can we make function globally in codeigniter?我们如何在 codeigniter 中实现全局功能?
【发布时间】:2017-09-14 05:59:07
【问题描述】:

我有一个问题想问大家,我想在 codeigniter 中全局实现以下功能:

 $ci =& get_instance();

我有一个致命错误:

Fatal error: Uncaught Error: Using $this when not in object context:

我想将 $ci 用于 $this,但我如何在全局范围内提及 $ci =& get_instance()?

我必须把 $ci =& get_instance();每个函数和每个文件中的代码。 请帮忙。

这是我的测试代码:

    public static function index()
    {   
    $ci =& get_instance();
    $redirect   = $ci->auth->is_logged_in(false, false);
    }

【问题讨论】:

  • 向我们展示代码。这不是必需的$ci =& get_instance(); 总是
  • 现在请检查我的代码@AbdullaNilam
  • $this>auth->is_logged_in就够了
  • 好吧,让我试试@AbdullaNilam
  • 添加 $this 而不是 $ci

标签: php codeigniter-3


【解决方案1】:

已解决:

问题是php版本:

旧版本

$this->employees_model->get_all();

新版本

$ci =& get_instance();
$ci->employees_model->get_all();

【讨论】:

    【解决方案2】:

    您可以创建助手...因为您可以使用 $ci =& get_instance(); 创建函数& 直接在控制器、模型、视图等中访问它。

    example :
    
    if (!function_exists('isLogin'))
    {
        function isLogin(){
            //get main CodeIgniter object
            $ci =& get_instance();
            //your code
        }
    } 
    
    access directly isLogin() in controller like:
    if(isLogin())
    {
    //Your code
    }
    

    【讨论】:

    • 我已经做到了。但是如何在创建辅助函数后调用每个文件? @pAsh
    • 您必须在 autoload.php 中加载您的自定义助手,例如: $autoload['helper'] = array('your_helper');访问它。
    • 很好,在加载 autoload.php 文件后如何在我们的控制器文件中调用它?
    • 直接函数名:isLogin()(我已经在上面的代码中提到过):ref :stackoverflow.com/questions/32037705/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 2016-05-01
    相关资源
    最近更新 更多