微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 用于从表单获取值的动态表单类

我正在使用Form类以静态方式获取表单的值.一切都很棒.但我想动态地做.我想要一个能够为不同形式完成工作的表单类.在display()方法中,我获得了名称,电子邮件,密码,电话等的价值.我希望当有更多或更少的值或其他形式时,Form类动态地为我完成工作.我怎样才能做到这一点?

//This is Register.PHP
public function display()
{
    Form::setname($_POST['name']);
    Form::email($_POST['email']);
    Form::password($_POST['pass']);
    Form::repassword($_POST['rpass']);
    Form::phone($_POST['phone']);

    list($name,$b,$c,$d,$e)=Form::getall();
}

<?PHP 
//This is Form.PHP
class Form
{
    private $name;
    private $email;
    private $pass;
    private $rpass;
    private $phone;

    public static function setname($name)
    {
        $this->name=$name; //  Using $this when not in object context 
    }

    public static function email($email)
    {
        $this->email=$email;
    }

    public static function password($pass)
    {
        $this->pass=$pass;
    }

    public static function repassword($rpass)
    {
        $this->rpass=$rpass;
    }

    public static function phone($phone)
    {
        $this->phone=$phone;
    }

    public static function getall()
    {
        $a=$this->name;
        $b=$this->email;
        $c=$this->pass;
        $d=$this->rpass;
        $e=$this->phone;
        return [$a,$b,$c,$d,$e];
    }
}

解决方法:

您可以尝试向类中添加一组新变量,就像这样

$dynamic_form_elements = array();
public static function dynamic_element($element, $value) {
    $this->dynamic_form_elements[$element] = $value;
}

之后,只需将$dynamic_form_elements变量放入列表中,即可在getAll()方法中返回.

return [$a,$b,$c,$d,$e,$dynamic_form_elements];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐