如何使用 trait 扩展自定义 PHP 函数?

特征不能直接在角色中使用,因为它们为类提供重用。
将函数封装在类方法中,然后使用Trait来共享。
PHP7 +可以用匿名类代替。
Trait 类中的全局函数是不一致的。
将函数重构为类中的方法更符合 OOP。
名词介词可以防止打架。
组合比继承更好。
错误示例:在函数使用中不能直接引入 Trait。
正确的做法:类+ Trait 或匿名类。
你自己掂量一下。

PHP filter_input_array()定义和用法

你好,让我告诉你我对你提到的PHP的filter_input_array函数的理解和使用经验。

此功能就像一个多功能的外部数据过滤助手。
想象一下,您提交了一个表单,用户通过 URL 传递了一些参数。
目前数据比较杂乱,可能含有非法字符或恶意代码。
filter_input_array 有助于排序和组织这些数据。

举个例子吧。
例如,我曾经开发过一个用户注册系统。
用户提交的数据包括姓名、电子邮件地址和密码。
使用filter_input_array你可以写:
php $filtered_data = filter_input_array(INPUT_POST, [ '名称' => FILTER_SANITIZE_STRING, '电子邮件' => FILTER_SANITIZE_EMAIL, '密码' => FILTER_SANITIZE_STRING | FILTER_SANITIZE_FULL_SPECIAL_CHARS ]);
在这里,我们将输入类型指定为 INPUT_POST 以从表单中检索数据。
然后,我为每个变量分配了不同的过滤器,例如用于删除特殊字符的 FILTER_SANITIZE_STRING 和用于过滤掉无效电子邮件地址的 FILTER_SANITIZE_EMAIL。
对于密码,我还添加了 FILTER_SANITIZE_FULL_SPECIAL_CHARS 以确保没有危险字符。

这样做的好处是,一旦函数执行成功,您将获得经过过滤的安全数据数组,可以直接用于后续处理,例如保存到数据库。

但是,请注意,filter_input_array 并不是万无一失的。
例如,当过滤服务器或环境变量时,此功能没有用处。
此外,INPUT_SESSION 和 INPUT_REQUEST 这两种输入类型目前尚未实现,因此使用它们时要小心。

总的来说,filter_input_array是一个非常强大的工具,可以让你更高效、更安全地处理外部输入数据。
然而,正如人们常说的,技术没有好坏之分。
重要的是你如何使用它。
如果使用得当,它可以防止许多潜在的安全问题。
不管怎样,一旦你弄清楚并尝试几次,你很快就会习惯的。
我还在想这个问题。
如果您还有其他问题或疑问,请随时询问我。