php - 表单值处理
问题描述
提交表单时是否有更好/更懒惰/更快/更有效的方法将 $_POST 值分配给类的属性?什么才是最佳实践?在现实世界中处理这个问题的最佳方法是什么?
public function __construct()
{
$this->field1 = $_POST['field1'];
$this->field2 = $_POST['field2'];
$this->field3 = $_POST['field3'];
$this->field4 = $_POST['field4'];
$this->field5 = $_POST['field5'];
$this->field6 = $_POST['field6'];
$this->field7 = $_POST['field7'];
$this->field8 = $_POST['field8'];
$this->field9 = $_POST['field9'];
$this->field10 = $_POST['field10'];
}
解决方案
可能是这样的:
<?php
$_POST['bar'] = 'Soap';
class DirtyFoo
{
public $bar;
public $baz;
}
$foo = new DirtyFoo;
foreach($foo as $p => $v)
$foo->$p = $_POST[$p] ?? '';
var_dump($foo);
输出:
object(DirtyFoo)#1 (2) {
["bar"]=>
string(4) "Soap"
["baz"]=>
string(0) ""
}
推荐阅读
- jquery - 尝试渲染代码时,它说“图表”未定义,但它在 jQuery 中。我没有正确调用 jQuery 吗?
- python - python 3'function'对象不可迭代
- react-native - How to Push Realm File to Internal Storage in React Native from Application
- c# - 从C#中的抽象类获取调用类名
- javascript - 使用 Js 为列表视图中的每个条目制作模式?
- oracle11g - Disable "where" under different conditions in the select in the apex oracle
- amazon-rds - 从备份覆盖现有数据库
- google-cloud-platform - Apache Beam 中的处理时间和事件时间有什么区别
- google-apps-script - Google Apps 脚本 - 已删除所需的父文件夹
- python - 如何在python中过度绘制?