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

Joomla/PHP中JRequest::getVar($var)和$var之间的区别?,php,joomla,Php,Joomla,让我先说我对Joomla或PHP一无所知,所以我可能会在这里把苹果和桔子做比较,但是 我一直在看的一些代码中看到JRequest::getVar($var)和$var。有人能解释一下这两者的区别吗 根据Joomlas的文档getVar,“获取并返回一个给定的变量。”如果是这样,为什么下面的代码会返回不同的结果 echo JRequest::getVar($amount); echo $amount; getVar根据传递的散列参数从一个PHPs全局数组中获取变量 getVar根据传递的散列

让我先说我对Joomla或PHP一无所知,所以我可能会在这里把苹果和桔子做比较,但是

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

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

echo JRequest::getVar($amount);

echo $amount;

getVar根据传递的散列参数从一个PHPs全局数组中获取变量


getVar根据传递的散列参数从一个PHPs全局数组中获取变量

免责声明:我对Joomla一无所知

查看,
JRequest::getVar
从GET或POST参数中获取值,应该像
JRequest::getVar('amount')
一样使用(注意参数是字符串,而不是变量)
echo$amount
echo JRequest::getVar($amount)
当然是完全不同的,前者表示“回送
$amount
的值”,后者表示“回送带有
$amount
值名称的GET或POST变量的值”

第二个参数
$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;
}
即使没有第二个参数,它也会在必要时处理变量清理和(取消)转义,因此最好使用此函数读取请求参数。

免责声明:我不知道Joomla的第一件事

查看,
JRequest::getVar
从GET或POST参数中获取值,应该像
JRequest::getVar('amount')
一样使用(注意参数是字符串,而不是变量)
echo$amount
echo JRequest::getVar($amount)
当然是完全不同的,前者表示“回送
$amount
的值”,后者表示“回送带有
$amount
值名称的GET或POST变量的值”

第二个参数
$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;
}

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

它相当于
if(isset($\u request['amount'))
(POST表单提交也可以在$\u-GET中包含变量,JRequest/$\u请求将捕获这两个变量。)否则,这相当于
如果(isset($\u-REQUEST['amount'])
(POST表单提交也可以在$\u-GET中包含变量,JRequest/$\u请求将捕获这两个变量。)否则,这篇文章会很棒。