代码之家  ›  专栏  ›  技术社区  ›  Abe Miessler

Joomla/PHP中JRequest::getVar($var)和$var的区别?

  •  1
  • Abe Miessler  · 技术社区  · 14 年前

    我一直在看 JRequest::getVar($var) $var 我一直在看的一些代码。有人能解释一下这两者的区别吗?

    根据Joomlas的文件 getVar ,获取并返回给定的变量。如果是这样,为什么下面的代码返回不同的结果?

    echo JRequest::getVar($amount);
    
    echo $amount;
    
    2 回复  |  直到 14 年前
        1
  •  6
  •   deceze    14 年前

    免责声明:我不知道乔姆拉的第一件事。

    看着 the documentation , JRequest::getVar 从GET或POST参数中获取值,应该像 JRequest::getVar('amount') echo $amount echo JRequest::getVar($amount) 当然远没有达到同等的程度,前者的意思是“呼应 $amount ,后者“用 $金额 ."

    $default 也非常有用:

    $amount = JRequest::getVar('amount', 100);
    
    // is roughly equivalent to:
    
    if ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['amount'])) {
        $amount = $_GET['amount'];
    } else if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['amount'])) {
        $amount = $_POST['amount'];
    } else {
        $amount = 100;
    }
    

    即使没有第二个参数,它也会在必要时处理变量清理和(取消)转义,因此使用此函数读取请求参数是一个好主意。

        2
  •  0
  •   Galen    14 年前