CodeIgniter PHP:在控制器中使用和更新变量?

时间:2018-02-08 09:03:22

标签: php codeigniter

我想在我的应用程序中使用CodeIgniter的变量。

如何在控制器类示例中更新$ my_value的值? 我的申请:

  • run test_A() - >运行printValue(),结果为10;
  • run test_B() - >运行printValue(),结果为10;

为什么呢?以及如何

  • run test_A() - >运行printValue(),结果是20;
  • run test_B() - >运行printValue(),结果为30;

我的代码:

<?php

class example extends CI_Controller
{

    private $my_value;

    public function __construct()
    {
        parent::__construct();
        $this->my_value = 10;
    }

    public function index()
    {

    }

    public function test_A()
    {
        $this->my_value = 20;
    }

    public function test_B()
    {
        $this->my_value = 30;
    }

    public function printValue()
    {
        echo $this->my_value;
    }

}

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

试试这个:

    private $my_value;

    public function __construct()
    {
        parent::__construct();
        $this->my_value = 10;
    }

    public function index()
    {

    }

    public function test_A($alter = false)
    {
        $this->my_value = 20;

        if($alter){
            //Alter $this->my_value
        }
    }

    public function test_B($alter = false)
    {
        $this->my_value = 30;

        if($alter){
          //Alter $this->my_value
        }
    }

    public function printValue()
    {
        echo $this->my_value;
    }

如果你不想改变$this->my_value或者打电话

,那么按原样调用该函数
$this->test_A(true);

改变$this->my_value

答案 1 :(得分:0)

它完全适合我的环境,请查看此代码。

class test extends CI_Controller
{

    private $my_value;

    public function __construct()
    {
        parent::__construct();
        $this->my_value = 10;
    }

    public function index()
    {

    }

    public function test_A()
    {
        $this->my_value = 20;
    }

    public function test_B()
    {
        $this->my_value = 30;
    }

    public function test_C() {
        $this->test_A();
        $this->printValue();
    }
    public function printValue()
    {
        echo $this->my_value;
    }

}