search

Home  >  Q&A  >  body text

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

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

PHP中文网PHP中文网2894 days ago355

reply all(2)I'll reply

  • 怪我咯

    怪我咯2017-04-10 17:38:10

    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;
        }

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

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 17:38:10

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

    reply
    0
  • Cancelreply