Tom*_*Tom 4 php joomla joomla2.5
按照本指南清理我的输入,我想知道是否有一个空字符串被覆盖?
$jinput = JFactory::getApplication()->input;
$this->name = $jinput->get('name', '', 'STRING');
Run Code Online (Sandbox Code Playgroud)
通常没有Joomla我也会检查一个空字符串.就像是:
if (!empty($_POST['name']))
Run Code Online (Sandbox Code Playgroud)
查看JInput get方法,我看到它检查它是否isset:
public function get($name, $default = null, $filter = 'cmd')
{
if (isset($this->data[$name]))
{
return $this->filter->clean($this->data[$name], $filter);
}
return $default;
}
Run Code Online (Sandbox Code Playgroud)
不一样,因为isset只检查null.但是,这是使用get方法的默认值.所以,如果我为第二个参数指定一个空字符串,我在这里介绍了吗?
$this->name = $jinput->get('name', '', 'STRING');
Run Code Online (Sandbox Code Playgroud)
Joomla无法确定您的空字符串是否为有效值.他们必须使用isset(),因为如果他们会使用empty()并且您返回'0'正常情况下的预期,Joomla将返回默认值而不是'0'.
因此,他们只是isset()用来检查变量是否设置是完全正常的,由您决定接受哪些值.
如果未设置该值,并且您将第二个参数设置为空字符串'',则会返回一个空字符串.
在您的示例中,将返回一个空字符串,这是预期的行为.
| 归档时间: |
|
| 查看次数: |
1872 次 |
| 最近记录: |