tp字段映射机制原理

刚开始学tp,一直纠结字段映射后,自动验证里的字段该怎么填。以下分析源码所得结论:

1.当执行$model->create()方法时,如果没有传参数过来,$data=$_POST;

2.先执行字段映射,后执行自动验证。

3.字段验证其实就是替换数组的字段(把映射的字段替换成表中的真实字段)

4.自动验证里的字段填写表中的真实字段

自己写一个字段映射功能

<?php
if(isset($_GET['action'])){
    
    
    $data=array();
    $data=$_POST;
    //字段映射  username和pasword为表中的真实字段
    $arr=array('us'=>'username','pas'=>'pasword');
    foreach($arr as $k=>$v){
        if(isset($data[$k])){
            $data[$v]=$data[$k];  //如$data['username']=$data['us']; 
            unset($data[$k]);  //销毁 $data['us'];
        }
    }
    print_r($data);
    exit;
    
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<form action="?action=1" method="post">
用户名:<input type="text" name="us" />
密码: <input type="password" name="pas" />
<input type="submit" />
</form>
</body>
</html>

原文地址:https://www.cnblogs.com/loveyouyou616/p/2785644.html