我在差异页面上分开了两个班级。我想要做的是保存从函数返回的值并将其传递给另一个函数。我有以下代码:
类公共功能(在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
答案 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
,而不仅仅是设置它。