0

我正在开发一个简单的插件来检查是否设置了操作(GET)参数,如果有这个参数,插件执行很少的操作。

现在,我正在寻找一种方法来保存此操作的结果。结果是一条简单的文本消息,描述了插件所做的操作。

我想创建一个全局变量(在插件的功能之外)并将消息保存在那里。

在我需要显示该消息的页面中,我可以创建并调用一个钩子-> 调用一个函数-> 打印此全局变量的值。

你怎么看?

4

3 回答 3

0

使用诸如 <example.php?module=X&action=Y¶meter=Z > 之类的 URL,这样的东西应该可以工作。

<?php
  function actionIsSet(){
    return (isset($_GET["action"]) ? true : false);
  }
  if (actionIsSet()){
    // Do stuff
  }
?>

如果您需要 的值action

  function actionIsSet(){
    return (isset($_GET["action"]) ? $_GET["action"] : false);
  }
  if (actionIsSet()){
    var action = actionIsSet();
    echo action; // here outputs "Y"
    // Do stuff
  }
于 2012-06-19T07:19:44.633 回答
0

我想使用全局变量是一种不好的做法 =) 你为什么不返回函数的值?Hook 会调用这个函数并打印返回值

于 2012-06-19T07:09:38.330 回答
0

获取传递给脚本的所有参数

$parameters='';
foreach($_GET as $param){
 $parameteters .= $param."\n"; 
}

稍后显示的换行符,可以使用nl2br在html中显示或在pre标签内写入参数值

if(isset($_GET['x'])){
$output_string .= "variable x was define with value ".$_GET['x'];
}

继续检查一切

if(){}elseif(){}elseif(){}

例子 ..

if(isset($_GET["module"])){
 // checking for module parameters
}elseif(isset($_GET["theme"])){
 // checking for theme parameters
}elseif(isset($_GET["pagebehavior"])){
 // checking for page behavior
}elseif(isset($_GET["cat"])){
 // checking for cat parameters
}

这完全取决于您传递的参数以及您如何构建 ex。模块参数您要处理的内容等等..不要忘记var_dump($_GET);实际查看传递给脚本的参数,并将echo $string字符串使用或存储到 $_SESSION var 或存储到数据库中.. 使输出可用于大家,我建议存储到数据库,然后从表中获取并处理数据

于 2012-06-19T08:08:28.133 回答