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

问题描述

| 我有一个Blocka_Model类(实际上是KOhana框架中的MODEL),具有2个函数input()和output()。函数输入是从称为Home_Controller的控制器中的函数调用的,并将参数传递给函数输入。现在,我希望传递给input()函数的参数可以在函数output()中访问。函数input()和output()都在Model类Blocka_Model中。我想从输入()到输出获取该参数$ val)
class Blocka_Model extends Block_Model {

    protected $tablname = \'moves\';

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

    public function output() {  ...  }

}
    

解决方法

        由于标题说明您希望使用
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;
    }

}