如何从外部代码点火器 (ci) 调用帮助程序中的函数 - 尝试从其他堆栈溢出链接提供解决方案,但不起作用



我已经在application/helpers/中创建了一个函数/从CI访问时正常工作。现在,我想从Ci exter ci,从核心PHP文件中调用相同的功能。但是我无法这样做。

以下是尝试的方法。

在CI外创建test.php是代码:

<?php
    $filepath = dirname(__FILE__);
    ob_start();
    require_once($filepath.'/ci/index.php');
    ob_get_clean();
    return $CI;
?>

在另一个核心PHP文件中,test2.php,是代码:

$CI = require_once('test.php');
echo $CI->config->item('base_url');
some_helper_function($param1, $param2);

错误消息:

Fatal error: Call to a member function item() on a non-object in <path>/Utf8.php on line 47

文件夹结构:

test.php
test2.php
ci/application/helpers/test_helper.php (contains some_helper_function())

有什么建议?

创建文件并将以下代码放入其中。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  if ( ! function_exists('test_function'))
  {
    function test_function()
    {
        //your functionality//
    }   
}

将其保存到应用程序/助手/。将其另存为" test_helper.php"

存在第一行,以确保不能包含该文件并从Code Igniter外部运行。

然后在您的控制器或模型中

$this->load->helper('test_helper');

您可以使用该辅助页面中的任何功能。

其他

your-project-name application config autoLoad.php

$autoload['helper'] = array('test_helper');

,您可以在任何控制器或模型中使用该辅助功能。不像先前所说的那样在每个控制器或模型中初始化。

最新更新