我已经在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');
,您可以在任何控制器或模型中使用该辅助功能。不像先前所说的那样在每个控制器或模型中初始化。