컨트롤러의 코드:
<code>if(IS_POST){ if($model->validate($model->_login_validate)->create()){ if($model->login()){ if($res = session('returnUrl')){ session('returnUrl',null); $returnUrl = $res; }else{ $returnUrl = U('/'); } $this->success('登陆成功!',$returnUrl); die; } } $this->error($model->getError()); } </code>
모델 코드:
<code>public function login(){ var_dump($this);die; //这里打印$this并没有找到username和password这两个属性,可是为什么下面的$username可以取到值呢?? $username = $this->username; $password = $this->password; $model = M('Member'); $where['username'] = $username; $user = $model->where($where)->find(); 。。。 } </code>
컨트롤러의 코드:
<code>if(IS_POST){ if($model->validate($model->_login_validate)->create()){ if($model->login()){ if($res = session('returnUrl')){ session('returnUrl',null); $returnUrl = $res; }else{ $returnUrl = U('/'); } $this->success('登陆成功!',$returnUrl); die; } } $this->error($model->getError()); } </code>
모델 코드:
<code>public function login(){ var_dump($this);die; //这里打印$this并没有找到username和password这两个属性,可是为什么下面的$username可以取到值呢?? $username = $this->username; $password = $this->password; $model = M('Member'); $where['username'] = $username; $user = $model->where($where)->find(); 。。。 } </code>
은 데이터에 저장됩니다. 존재하지 않는 속성을 읽은 다음 데이터로 이동합니다. 마찬가지로 객체인 set을 사용하여 속성을 설정할 수 있습니다.
<code> public function __get($name) { return isset($this->data[$name])?$this->data[$name]:null; } public function __set($name,$value) { // 设置数据对象属性 $this->data[$name] = $value; }</code>
네, 이렇게 쓴 적은 없지만 생성 후 객체를 인쇄해 보니 이러한 속성이 있는 것을 발견했습니다
<code>$data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User->create($data); // 创建完成数据对象后可以直接读取数据 echo $User->name; echo $User->email; // 也可以直接修改创建完成的数据 $User->name = 'onethink'; // 修改name字段数据 $User->status = 1; // 增加新的字段数据</code>
http://www.kancloud.cn/manual...
3.2.3 문서에서 이 문단을 찾았습니다. create() 후에 $this->name;에 액세스합니다. 이는 생성 후 속성이어야 합니다.
var_dump($model);을 사용해 보세요. .