类型提示与类型检查
除了手动验证数据类型,我们还可以依赖 PHP 7 中的类型提示。
为此,我们只需“提示”函数或者方法参数的类型:
function (string $input_string) { return 'Success: <pre>'.$input_string.'</pre> was valid.'; }
如果输入无效,则会抛出 E_ERROR "Uncaught TypeError",而我们无需自己进行任何验证。
如果为函数提供整数而不是字符串,PHP 将不会输出任何错误。
这是由于 PHP 的自动类型杂耍,它认为 '500' 与 500 相同。
在大多数情况下,这应该不会引起任何问题,但是如果要启用严格的类型检查,可以通过在 index.php 的顶部包含以下内容来修复它:
<?php declare(strict_types=1);
要检查变量是否为 string ,我们可以使用 is_string 函数;如果输入是字符串,则此函数将返回 true,否则返回 false。
要使用 is_string 函数,我们可以编写一个 if 语句:
$my_name = 'Thomas'; if (is_string($my_name)) { echo '$my_name is a string.'; }
当使用 is_string();在验证参数的函数中,我们可以这样做:
function ($input_string) { if (!is_string($input_string)) { echo 'Invalid input. Only string types is allowed!'; exit(); } //Return the string if valid return 'Success: <pre>'.$input_string.'</pre> was valid.'; }
这也是验证输入变量或者函数参数类型的有用方法;但类型提示是更好的选择。
日期:2020-06-02 22:16:48 来源:oir作者:oir