将值从另一个函数传递到PHP上的另一个函数

时间:2012-08-06 06:42:49

标签: php class function

我在差异页面上分开了两个班级。我想要做的是保存从函数返回的值并将其传递给另一个函数。我有以下代码:

类公共功能(在publicfunction.php上)

class publicfunction {
  public static function getqs() { 
    $qs = array();
    parse_str($_SERVER['QUERY_STRING'], $qs);
}}

类be_mstpublc(在be_mstpublc.php上)

class be_mstpublc {
  public static function setmstpublcpgtitle() { 
    if(!empty($qs['mst'])) {
        switch($qs['mst']) {
            case 'A': 
                $pagetitle = "A";
                break;
}}}}

然后在另一个页面上实现上述功能:

call_user_func(array('publicfunction', 'getqs'));
call_user_func(array('be_mstpublc', 'setmstpublcpgtitle'));
echo $pagetitle;

但它没有返回任何价值。

有什么想法吗?感谢..

- 编辑 -

我已在网址上传递了一个值,即: localhost / test / index.php?mst = A

2 个答案:

答案 0 :(得分:3)

首先,return值,否则它不会去任何地方:

public static function getqs() { 
    $qs = array();
    parse_str($_SERVER['QUERY_STRING'], $qs);

    return $qs;
}

然后,接受它作为参数:

public static function setmstpublcpgtitle($qs) {
  ...
}

然后,传递它:

$qs = publicfunction::getqs();
be_mstpublc::setmstpublcpgtitle($qs); 

答案 1 :(得分:0)

您的问题是可变范围之一。方法publicfunction::qs()隐式声明名为$qs local 变量。在此方法之外无法访问它。

通常,如果将存储放在类中,则在同一个类中有多个方法可用于设置和检索它。一种解决方案是将setmstpublcpgtitle放入类publicfunction。但是,第二种方法也存在同样的问题。它需要返回$pagetitle,而不仅仅是设置它。