搜尋

首頁  >  問答  >  主體

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

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

PHP中文网PHP中文网2895 天前369

全部回覆(2)我來回復

  • 怪我咯

    怪我咯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;
        }

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

    回覆
    0
  • 巴扎黑

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

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

    回覆
    0
  • 取消回覆