-1

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

类 publicfunction(在 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;

但它不返回任何值。

有任何想法吗?谢谢..

- 编辑 -

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

4

2 回答 2

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); 
于 2012-08-06T06:49:28.623 回答
0

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

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

于 2012-08-06T06:50:27.873 回答