codeigniter将对象库传递给另一个库

时间:2016-01-24 13:23:55

标签: php codeigniter object

我想在Codeigniter的库中翻译我的自定义类,但我遇到了这个问题。

require_once "a.php";
require_once "b.php";

function __construct() {    
     $this->b = new b();
}

我使用库加载器更改了requireconstruct

function __construct() {
   $this->CI =& get_instance();
   $this->CI->load->library('a');
   $this->CI->load->library('b');
}

但是现在我需要转换这个功能,但我不知道在哪种模式下可以做到

public function addRecipient($first,$second){
   $a= new a($first);  // ??? new library a ?
   $a->header = 1;
   $a->set($second);     
   $this->b->add($a);     // passing object library a???
   return $a;
}

1 个答案:

答案 0 :(得分:1)

这是一个可能有帮助的逻辑

制作管理员控制器 和Amodel和Bmodel

在管理员控制器中加载这些模型

class admin extends CI_Controller{

    function __construct()
    {

    $this-load>model('amodel');
    $this-load>model('amodel');

    }

 function index($first,$second){
 $a = $this->amodel->addRecipient($first,$second)
 $this->data['a'] = $a;
 $this->load->view('index',$this->data);
 }

所以在amodel.php文件中你可以像这样调用bmodel.php函数

public function addRecipient($first,$second){
$a = new stdClass();
$a->header = 1;
$a->first = $first; 
$a->second= $second;
$a = $this->bmodel->get_todos($a);  
return $a;
}

里面的bmodel.php函数可以是这样的

function get_todos($a){

$a->third =  $a->first + $a->second
return  $a;

 }