首页 > 代码库 > 《deetom》项目开发历程<三>
《deetom》项目开发历程<三>
昨天开始写,用户密码修改,把原来的登录 注册调整了下。中间有些细节。
封装获取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 = "http://www.mamicode.com/<?php echo $this->getBaseUrl(); ?>/Login/loginOut"; } else{ return true; } }
这个跳转如果路径木有http://的话,将是根据当前路径 和传的参数,重构URL 拼接。
今天上午的故事全发生在svn上面了
尝试过的手段:
clean up
删除后 重新check out
本地svn客户端 clean up
update
都于事无补。不过现在不影响其他文件的操作。
待解决。。。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。