繁体   English   中英

Joomla使用JInput检查空字符串

[英]Joomla check for empty string with JInput

按照本指南清理我的输入,我想知道是否有一个空字符串被覆盖?

$jinput = JFactory::getApplication()->input;
$this->name = $jinput->get('name', '', 'STRING');

通常没有Joomla我也会检查一个空字符串。 就像是:

if (!empty($_POST['name']))

查看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;
}

不一样,因为isset只检查null。 但是,这是使用get方法的默认值。 所以,如果我为第二个参数指定一个空字符串,我在这里介绍了吗?

$this->name = $jinput->get('name', '', 'STRING');

Joomla无法确定您的空字符串是否为有效值。 他们必须使用isset() ,因为如果他们将使用empty()并返回'0' ,你会想到为正常,的Joomla将返回默认值,而不是说'0'

因此,他们只是使用isset()来检查变量是否已设置是完全正常的,由您来决定接受哪些值。

如果未设置该值,并且您将第二个参数设置为空字符串'' ,则会返回一个空字符串。

在您的示例中,将返回一个空字符串,这是预期的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM