gpt4 book ai didi

php - Joomla 使用 JInput 检查空字符串

转载 作者:可可西里 更新时间:2023-10-31 22:56:09 25 4
gpt4 key购买 nike

关注此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');

最佳答案

Joomla 无法决定您的空字符串是否为有效值。他们必须使用 isset(),因为如果他们使用 empty() 并且您返回 '0',这是您正常期望的, Joomla 将返回默认值而不是那个 '0'

所以他们只是使用 isset() 来检查是否设置了变量是完全正常的,你可以决定接受什么值。

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

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

关于php - Joomla 使用 JInput 检查空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15647545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com