2015-01-23 3 views
0

Я новичок в CodeIgniter. У меня есть вопрос, связанный с функциями контроллера. Функция индекса в контроллере выглядит следующим образом.Как я могу вызвать функцию в классе, используя stdclass в 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"); 
     } 

Не могли бы вы помочь мне в решении этой проблемы?

+0

Вы можете назвать те же функции класса, используя $ this. Думаю, у вас есть ошибка для переменной $ data? – sas

ответ

3

$ данные не доступны внутри функции индекса. Используйте этот способ

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 
    } 
+0

Спасибо! Он работает очень хорошо. – Baris

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; 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^