昨天开始写,用户密码修改,把原来的登录 注册调整了下。中间有些细节。
封装获取session中用户信息的方法的时候,我犹豫了很久。
class IndexBaseController extends Comm{ protected $userInfo; //session 判断 前置函数 public function init() { $session = $this->instance(‘Session‘); $userInfo = $session->get(‘index_userInfo‘); if(empty($userInfo)){ $this->redirect(‘/Login/login‘); }else{ //这个if我犹豫了 if($this->userInfo != $userInfo){ $this->userInfo = &$userInfo; } } } }
实际上我对PHP 垃圾回收机制还是不清晰,我不知道userInfo什么时候会被回收、 一开始直接 $this->userInfo = &$userInfo;
写完后我在想这意味着什么?
我在担心,是不是每次都会申请$userInfo的内存。现在一想,我还只是猜:我才在INIT方法中的$userInfo 应该在栈内存申请一块地址,并且方法执行完之后就会被回收,而$session的这块内存,应该在堆并且,这个内存的回收估计和他的失效时间有关系,而protected $userInfo;也应该在对内存中申请了一块内存,而每次 我都是把session内存地址,赋值给了它,所其实应该对内存的开销不会大。
后面由于修改密码的时候,要变更session的用户信息,所以session会发生变化,所以做了个简单的判断。
我希望我这个分析是正确的。
还有个js细节
function dt_confirm(){ var r=confirm("密码修改成功,是否重新登录") if (r==true){ window.location.href = "<?php echo $this->getBaseUrl(); ?>/Login/loginOut"; } else{ return true; } }
这个跳转如果路径木有http://的话,将是根据当前路径 和传的参数,重构URL 拼接。
今天上午的故事全发生在svn上面了
尝试过的手段:
clean up
删除后 重新check out
本地svn客户端 clean up
update
都于事无补。不过现在不影响其他文件的操作。
待解决。。。。
《deetom》项目开发历程<三>,布布扣,bubuko.com
时间: 2024-10-26 04:01:16