Php 将一个函数中变量的值传递给同一类中的另一个函数
我有一个类Block_模型,实际上是Kohana框架中的一个模型,有两个方法inputand output 方法输入是从一个名为Home\u controller的控制器中编写的函数调用的,它将一个参数传递给方法输入Php 将一个函数中变量的值传递给同一类中的另一个函数,php,kohana,Php,Kohana,我有一个类Block_模型,实际上是Kohana框架中的一个模型,有两个方法inputand output 方法输入是从一个名为Home\u controller的控制器中编写的函数调用的,它将一个参数传递给方法输入 如何使传递给输入的参数在方法输出中可访问?您需要私有属性: class Something{ private $_variable = ""; function input( $data ){ $this->_variable = $data;
如何使传递给输入的参数在方法输出中可访问?您需要私有属性:
class Something{
private $_variable = "";
function input( $data ){
$this->_variable = $data;
//do the rest of function
}
function output( ){
//get previously set data
echo $this->_variable;
}
}
这类似于@silent的答案,但您可以在一个方法中组合setter和getter
protected $_foo;
public function foo($val = NULL)
{
if ($val === NULL)
{
// its a getter!
return $this->_foo;
}
// its a setter
$this->_foo = $val;
// return current object, so it becomes a chainable method
return $this;
}
现在您可以使用$value=$object->foo;和$object->foo$value->做其他事情 你能再详细一点吗?通过调用输出并在内部传递变量,可以轻松访问输入中传递的变量。但是读到你的问题我感到困惑。顺便说一句,我对Kohana框架不太熟悉。好的,请稍候,我会说得更清楚。我使用的代码是静默的,但我使用的是private$\u变量;而不是私有$_变量=;andd在输出也将被一个名为getoutput的函数调用之前不起作用,该函数位于控制器Home_控制器内,然后我们必须将输出函数的值返回给getoutput,就像函数输出{return$this->_variable;}函数被编写为公共函数一样,我的意思是公共输入和公共输出在主控制器上,在调用BlockController->output之前,必须调用BlockController->\u variable=blabla。但是,在此之前,您必须将$u变量设置为public或为其创建setter。您有模型、输入和输出。现在,您有了控制器。在您的控制器中,您同时调用输入和输出,对吗?一些值返回到输出,但它不是输入函数的参数。在输入函数中使用2或3个返回语句,将一些其他值返回给控制器类函数。这会是一个问题吗对不起,我会尝试显示那里的代码,希望没有问题,如果我粘贴代码那里
class Something{
private $_variable = "";
function input( $data ){
$this->_variable = $data;
//do the rest of function
}
function output( ){
//get previously set data
echo $this->_variable;
}
}
protected $_foo;
public function foo($val = NULL)
{
if ($val === NULL)
{
// its a getter!
return $this->_foo;
}
// its a setter
$this->_foo = $val;
// return current object, so it becomes a chainable method
return $this;
}