Php 如何在codeigniter中使用从一个控制器到另一个控制器的公共方法?
我有两个控制器,Listes.php和Campagnes.php。我想在campagnes的方法中使用Listes控制器的方法,可能吗?有可能传递一些参数给它吗 我使用代码点火器3 我尝试了一些我在这里找到的答案,但没有一个有效 我还在campagnes.php控制器中添加了以下内容:Php 如何在codeigniter中使用从一个控制器到另一个控制器的公共方法?,php,codeigniter,Php,Codeigniter,我有两个控制器,Listes.php和Campagnes.php。我想在campagnes的方法中使用Listes控制器的方法,可能吗?有可能传递一些参数给它吗 我使用代码点火器3 我尝试了一些我在这里找到的答案,但没有一个有效 我还在campagnes.php控制器中添加了以下内容: include_once (dirname(__FILE__) . "/Listes.php"); class Campagnes extends Listes { publi
include_once (dirname(__FILE__) . "/Listes.php");
class Campagnes extends Listes {
public function listes_recap()
{
$result = parent::add($parameter1, $parameter2);
}
}
class Listes extends CI_Controller {
public function add($parameter1, $parameter2)
{
code here...
}
}
在Listes.php控制器中:
include_once (dirname(__FILE__) . "/Listes.php");
class Campagnes extends Listes {
public function listes_recap()
{
$result = parent::add($parameter1, $parameter2);
}
}
class Listes extends CI_Controller {
public function add($parameter1, $parameter2)
{
code here...
}
}
提前感谢您的帮助。有几种方法可以实现您想要的结果。但是,从另一个控制器调用一个控制器不是一个好办法。“最佳”方法取决于两个控制器将使用的函数中实际发生的情况 第一种方法是创建一个“助手”,每个控制器将加载并使用它 文件:/application/helpers/list\u add\u helper.php
defined('BASEPATH') OR exit('No direct script access allowed');
if ( ! function_exists('add'))
{
function add($parameter1, $parameter2)
{
code here...
}
}
class List_adder
{
public function add($parameter1, $parameter2)
{
//code here
}
}
像这样在控制器中使用它
$this->load->helper('list_add');
$result = add($one, $two);
第二种方法是创建自定义库(类)
文件:/application/libraries/List_adder.php
defined('BASEPATH') OR exit('No direct script access allowed');
if ( ! function_exists('add'))
{
function add($parameter1, $parameter2)
{
code here...
}
}
class List_adder
{
public function add($parameter1, $parameter2)
{
//code here
}
}
用于任何控制器
$this->load->library('list_adder');
$result = $this->list_adder->add($one, $two);
如果您需要在自定义库中使用CI代码,您还有一些工作要做。阅读所有相关内容。有几种方法可以实现您想要的结果。但是,从另一个控制器调用一个控制器不是一个好办法。“最佳”方法取决于两个控制器将使用的函数中实际发生的情况 第一种方法是创建一个“助手”,每个控制器将加载并使用它 文件:/application/helpers/list\u add\u helper.php
defined('BASEPATH') OR exit('No direct script access allowed');
if ( ! function_exists('add'))
{
function add($parameter1, $parameter2)
{
code here...
}
}
class List_adder
{
public function add($parameter1, $parameter2)
{
//code here
}
}
像这样在控制器中使用它
$this->load->helper('list_add');
$result = add($one, $two);
第二种方法是创建自定义库(类)
文件:/application/libraries/List_adder.php
defined('BASEPATH') OR exit('No direct script access allowed');
if ( ! function_exists('add'))
{
function add($parameter1, $parameter2)
{
code here...
}
}
class List_adder
{
public function add($parameter1, $parameter2)
{
//code here
}
}
用于任何控制器
$this->load->library('list_adder');
$result = $this->list_adder->add($one, $two);
如果您需要在自定义库中使用CI代码,您还有一些工作要做。阅读所有内容。从另一个控制器调用一个控制器方法不是一个好的编程策略从另一个控制器调用一个控制器方法不是一个好的编程策略您尝试过$this->add($parameter1,$parameter2)?您是否尝试过$this->add($parameter1,$parameter2)?