您当前的位置: 首页 >  php

苗先生的PHP记录

暂无认证

  • 0浏览

    0关注

    190博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

PHP框架模型 - 单例模式代码优化

苗先生的PHP记录 发布时间:2022-05-16 00:18:51 ,浏览量:0

今天看了一下以前的模型代码

发现控制器中不断的在new model() 调用模型方法

这样子会不断的对模型进行实例化 , 并不断的销毁对象

比如:

控制器:
public function getList()
    {
        $list = (new GoodModel)->getListByPage(10);
        return $list;
    }

    public function getDetail($id)
    {
        $data = (new GoodModel)->getDetailById($id);
        return $data;
    }
控制器简单优化

下面是优化后的控制器:

private $goodsModel ;
    public function __construct()
    {
        $this->goodsModel = new GoodsModel();
    }

    public function getList()
    {
        $list = $this->goodsModel->getListByPage(10);
        return $list;
    }

    public function getDetail($id)
    {
        $data = $this->goodsModel->getDetailById($id);
        return $data;
    }

但是这还不是我想要的 , 也不是最好的, 而且当一个业务比较复杂,使用了多个模型 ,对后期维护也不是很方便

单例模式优化

单例模式: 单例模式是创建型模式 , 提供了一种创建对象的最佳方式 ,能够确保单个对象被创建,也就是访问唯一对象的方式,可以直接访问,无需实例化该对象

下面就是加入单利模式的优化结果

控制器
 public function getList()
    {
        $list = GoodModel::getInstance()->getListByPage(10);
        return $list;
    }
模型
            
关注
打赏
1665468453
查看更多评论
0.3501s