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

Php 使用会话将一个函数中的变量值传递给另一个函数,php,Php,我有一个类Blocka_Model(实际上是KOhana框架中的一个模型),它有两个函数input()和output()。函数输入是从名为Home_controller的控制器中的函数writen调用的,它将一个参数传递给函数输入。现在我希望传递给input()函数的参数可以在函数output()中访问。函数input()和output()都位于模型类Blocka_Model内。我想从input()到output()获取参数$val) 由于您的标题显示您希望使用会话: class Blocka_

我有一个类Blocka_Model(实际上是KOhana框架中的一个模型),它有两个函数input()和output()。函数输入是从名为Home_controller的控制器中的函数writen调用的,它将一个参数传递给函数输入。现在我希望传递给input()函数的参数可以在函数output()中访问。函数input()和output()都位于模型类Blocka_Model内。我想从input()到output()获取参数$val)


由于您的标题显示您希望使用
会话

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

}

您的代码的格式是。。。不对。有什么东西不见了吗?为什么会有这么多空格和换行符?我只写了两个函数,我需要使用sessions在output()函数中访问$val。我试图编辑它,使其格式正确,但我不确定它代表什么。
output()
方法似乎属于某个对象,但不属于Blocka\u Model类。输入和输出函数r都位于同一类Blocka\u ModelI中,通过使用所有额外的空格和换行符进行编辑。
output()
是Blocka\u模型类的一部分吗?完全错过了
$\u SESSION
部分。OP将此作为对我的SESSION less的评论回答:但我尝试过,但不知怎的,它在这里不起作用,实际上有很多函数和不同的类,它实际上是一个框架,所以希望将$val值作为一个SESSION变量,它$val被发布在一个函数getposted()中,函数在一个类Home_COntrollerlet me try and see中,我正在尝试使用sesison,因为其他常用方法不起作用,谢谢什么可以阻止一个类实例返回另一个类实例留下的值?在构造函数中,您可以给每个类一个随机的私有变量值,并将其用作键。
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;
    }

}