如何将一个函数中的变量访问到同一项目中不同控制器中的另一个函数

时间:2018-02-23 11:41:31

标签: php codeigniter

我有一个控制器,我有公共功能,如下所示

class Add_project extends MY_Controller
{

 public function add_quotation_maker()
  {
    $this->data['AutomationFullnFinal'] = $this->data['AutomationDiningAndLivingArea'] + $this->data['AutomationLivingArea'] + $this->data['AutomationDiningArea'] + $this->data['AutomationKitchen'] + $this->data['AutomationEntireHome'];
}
}

现在,我有另一个控制器,我有另一个功能,如下所示

class Make_pdf extends Add_project
{
public function index()
    {
      }
}

不,我想使用$ this-> data ['AutomationFullnFinal']从Add_project控制器进入公共函数索引中的Make_pdf控制器。

欢迎任何帮助。

3 个答案:

答案 0 :(得分:0)

希望这能帮助你做一点调整:

  class Add_project extends CI_Controller
  {
    public function add_quotation_maker()
    {
      $this->data['AutomationFullnFinal'] = $this->data['AutomationDiningAndLivingArea'] + $this->data['AutomationLivingArea'] + $this->data['AutomationDiningArea'] + $this->data['AutomationKitchen'] + $this->data['AutomationEntireHome'];
     }
     public function test()
     {
        echo "string";;
     }
  }

Make_pdf文件中只包含以上文件:

   include_once (dirname(__FILE__) . "/Add_project.php");
   class Make_pdf extends Add_project {
       public function test2()
       {
         $this->test();
       }
   }

现在您可以访问Add_project class:

的方法

答案 1 :(得分:0)

它将通过以下步骤实现: 1 GT;在控制器中扩展所需的类。 2 - ;通过扩展控制器的对象调用该函数。

答案 2 :(得分:0)

使用$this->data会显示Add_project类已声明属性$data。如果$data的可见度被声明为publicprotected,则可在Make_pdf中使用,并以相同方式访问,例如$this->data['whatever']

声明可能类似于

class Add_project extends CI_Controller
{
   public $data;

   public function add_quotation_maker()

...