使用session将一个函数中的变量值传递给另一个函数

时间:2011-06-10 03:55:25

标签: php

我有一个类Blocka_Model(实际上是KOhana框架中的一个MODEL),带有2个函数input()和output()。函数输入从一个名为Home_Controller的控制器内的函数调用,它将一个参数传递给函数输入。现在我希望传递给input()函数的参数可以在函数output()中访问。函数input()和output()都在Model类Blocka_Model中。我想从input()到输出得到$ val的参数

class Blocka_Model extends Block_Model {

    protected $tablname = 'moves';

    public function input($val) {  ...  } 

    public function output() {  ...  }

}

1 个答案:

答案 0 :(得分:1)

由于您的标题表示您希望使用session

class Blocka_Model extends Block_Model {

    protected $session_unique_id;

    public function __construct() {
         $this->session_unique_id = uniqid();
    }

    /*
     * Save $val in our current session
     */
    public function input($val) {
        $_SESSION[get_class($this).$this->session_unique_id] = $val;
    } 

    /*
     * Check for a value in our session
     *  - if it is set, return it
     *  - else return null
     */
    public function output() {   
        return isset($_SESSION[get_class($this).$this->session_unique_id]) ? 
                     $_SESSION[get_class($this).$this->session_unique_id] : null;
    }

}