我有一类静态函数(通用实用函数),我希望将其加载到 codeigniter 中。目前,我使用 include_once(...)
正常加载它,并且它按预期工作。
但是,我想使用 codeigniter 的方法加载它。我知道我应该将我的类文件保存到third_party目录中;我应该创建一个需要我的类的库类(将其保存在库目录中)。
下面是三个组件,但是不起作用。
1
// my class, saved at: APPPATH.'third_party/My_Class.php'
class My_Class
{
public static function my_static_utility_method ( )
{
return "booger" ;
}
// ...
}
2 - 我知道我应该创建一个遵守“库”实例化 CI 规则的包装器:
// saved at: APPPATH.'libraries/Library_Wrapper.php'
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Library_Wrapper
{
public function __construct()
{
require_once APPPATH.'third_party/My_Class.php';
}
}
3 - 现在我想从我的 Controller 访问 My_Class 的静态方法:
// saved at: APPPATH.'controllers/my_controller.php'
class My_Controller extends CI_Controller
{
public function __constructor( )
{
parent::__construct();
$this->load->library( 'Library_Wrapper' ) ;
}
public function some_function()
{
echo $this->My_Class->my_static_utility_method( ) ;
}
}
最佳答案
尝试以下步骤:
创建一个新的 Controller 文件:
application/core/MY_Controller.php
。在该文件中,您可以添加静态函数。<?php class MY_Controller extends CI_Controller { protected function static_fn1() { //code } }
需要访问静态函数的 Controller 可以扩展此类,如下所示: 文件:
application/controllers/Welcome.php
:<?php class Welcome extends MY_Controller { public function fnname() { //code } }
关于CodeIgniter:如何将我自己的静态函数类加载到 Controller 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36275172/