例如 在 thinkphp中 在一个TestContrller中 有两个方法 add(),get(),
add 方法中要添加数据 D'test')->addTest($_POST)
get方法中 要获取数据D('test')->getTest($id);
首先在上面这个两个方法中,每一次用D方法去new TestModel时候 在函数执行完毕后 也就是脚本执行后应该变量就消失了,然后在请求get方法的时候又 new了次TestModel 造成了资源浪费
那么我看到 有用单利模式 获取 TestModel变量的 ,
在add方法中 TestMode::instance()->addTest($_POST);
get方法中 要获取数据TestMode::instance()->getTest($id);那么问题是 在请求一次add方法中 静态实例 如果不存在 则创建了出来, 脚本执行完毕 那么在一次请求中 get方法 刚刚的静态实例是不是就不存在了,那么是不是又new了一次, 这不和不用单利 一样了吗
add 方法中要添加数据 D'test')->addTest($_POST)
get方法中 要获取数据D('test')->getTest($id);
首先在上面这个两个方法中,每一次用D方法去new TestModel时候 在函数执行完毕后 也就是脚本执行后应该变量就消失了,然后在请求get方法的时候又 new了次TestModel 造成了资源浪费
那么我看到 有用单利模式 获取 TestModel变量的 ,
在add方法中 TestMode::instance()->addTest($_POST);
get方法中 要获取数据TestMode::instance()->getTest($id);那么问题是 在请求一次add方法中 静态实例 如果不存在 则创建了出来, 脚本执行完毕 那么在一次请求中 get方法 刚刚的静态实例是不是就不存在了,那么是不是又new了一次, 这不和不用单利 一样了吗
但是 HTTP 并不是环保的产物,这个的有待你们去扬弃了HTTP 是无状态协议,所以他根本就不知道曾经做过了什么
虽然把你的想法很好,但是如果 new 一次之后就再也没有动作了,那么你持续这个 new 的结果是否也有 占着茅坑不拉屎的 嫌疑呢