0

私は以下を持っています

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Hello extends CI_Controller {
  var $name = 'test';
  function index() {
    $this->name = 'Andy';
    $data['name'] = $this->name;
    $this->load->view('you_view', $data);  // THIS WORKS
  }

  function you() {
    $data['name'] = $this->name;
    $this->load->view('you_view', $data);  // BUT THIS DOESN'T WORK
  }
}

私の質問は、どのようにに渡す$this->name = 'Andy';you()です。

4

2 に答える 2

0

これはコントローラーの別のメソッドで設定されているため、コード内の別のリクエストに相当します。ページリクエスト間で保持するには、セッション変数に保存する必要があります。

function index() {
    $this->name = 'Andy';
    $data['name'] = $this->name;
    $this->session->set_userdata('name', $this->name);
    $this->load->view('you_view', $data);  // THIS WORKS
  }

  function you() {
    $data['name'] = $this->session->userdata('name');
    $this->load->view('you_view', $data);  // BUT THIS DOESN'T WORK
  }
于 2012-11-30T02:24:45.203 に答える
0

クラスの一部である値の場合は、コンストラクターに入れることができます

 class Hello extends CI_Controller {

public function __construct() {
    parent::__construct();

    // will be available to any method in the class
    $this->name = 'andy';

} 
于 2012-12-01T01:29:56.150 に答える