TP框架中的模型获取表单中的值??

clipboard.png

//完全不明白为什么以上代码可以获取到表单中的值??谁告诉一下我原理??

阅读 2.2k
2 个回答

Model.class.php

  public function create($data='',$type='') {
        // 如果没有传值默认取POST数据
        if(empty($data)) {
            $data   =   I('post.');
        }elseif(is_object($data)){
            $data   =   get_object_vars($data);
        }
        ...

create方法默认读取了POST数组,而 username 是对象不存在的属性,所以会触发魔术方法__get

    public function __get($name) {
        return isset($this->data[$name])?$this->data[$name]:null;
    }

如果当前数据对象有该字段,则直接使用

这个username应该不是在AdminModel里面定义的,跳到Model类里面看看构造函数对username属性的相关操作。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题