我有两个类在差异页上分开。我想做的是保存一个函数返回的值,并将其传递给另一个函数。我有下面的代码:
类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
首先,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);
您的问题是变量范围的问题。方法publicfunction::qs()
隐式声明一个名为$qs
的局部变量。在此方法之外无法访问它。
通常情况下,如果将存储放在一个类中,则在同一类中有多个方法用于设置和检索存储。一种解决方案是将setmstpublcpgtitle
放在publicfunction
类中。然而,第二种方法也有同样的问题。它需要返回$pagetitle
,而不仅仅是设置它。