遵循这个guide来清理我的输入,我想知道空字符串是否包含了下面的内容?
$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');发布于 2013-03-27 06:08:23
你的空字符串是否为有效值并不是由Joomla来决定的。他们必须使用isset(),因为如果他们使用empty(),而你返回'0',你会认为这是正常的,Joomla将返回默认值而不是那个'0'。
所以他们只是使用isset()来检查是否设置了变量,这是完全正常的,您可以决定接受什么值。
如果没有设置该值,并且将第二个参数设置为空字符串'',则会返回一个空字符串。
在您的示例中,将返回一个空字符串,这是预期行为。
https://stackoverflow.com/questions/15647545
复制相似问题