【问题标题】:How can I call a function in a class using stdclass in codeigniter如何在codeigniter中使用stdclass调用类中的函数
【发布时间】:2015-03-22 12:13:38
【问题描述】:

我是 CodeIgniter 的新手。我有一个与控制器中的功能有关的问题。控制器中的索引功能如下所示。

    public function index()
    {
        $data                   = new stdClass;
        $data->words            = "Apple";
        $data->shuffled_words   = str_shuffle("Apple");

        $this->load->view('t/header');
        $this->load->view('projects/game', $data);
        $this->load->view('t/footer');
    }

但是我已经在两个函数中编写了索引函数。有什么错误没有奏效。

        public function index()
        {
            $this->shuffle();
            $this->load->view('t/header');
            $this->load->view('projects/game', $data);
            $this->load->view('t/footer');
        }

        public function shuffle()
        {
             $data                  = new stdClass;
             $data->words           = "Apple";
             $data->shuffled_words  = str_shuffle("Apple");
        }

你能帮我解决这个问题吗?

【问题讨论】:

  • 您可以使用 $this 调用相同的类函数。我猜你有 $data 变量的错误?

标签: function codeigniter class object stdclass


【解决方案1】:

$data 在索引函数中不可用。 用这种方式

 public function index()
    {
        $data=$this->shuffle();//make $data available here
        $this->load->view('t/header');
        $this->load->view('projects/game', $data);
        $this->load->view('t/footer');
    }

    public function shuffle()
    {
         $data                  = new stdClass;
         $data->words           = "Apple";
         $data->shuffled_words  = str_shuffle("Apple");
         return $data;//return the values
    }

【讨论】:

    【解决方案2】:

    这是一个快速变化的解决方案。希望对你有帮助。

        public function index()
        {
            $data = $this->shuffle();
            $this->load->view('t/header');
            $this->load->view('projects/game', $data);
            $this->load->view('t/footer');
        }
    
        public function shuffle()
        {
             $data                  = new stdClass;
             $data->words           = "Apple";
             $data->shuffled_words  = str_shuffle("Apple");
    
             return $data;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多