一个model被new了两次,请问创建了几个数据库连接?

如题

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 5
自由与温暖是遥不可及的梦想

在一个项目里面 一次执行里面 数据库只会连接一次

2年前 评论

看源码,new的时候是不会创建数据库连接的,只有真正进行查询的时候才会连接数据库。至于一个请求是创建一个连接还是多个,取决于你的配置,以下是创建连接的源码:

/**
     * Create a new PDO connection instance.
    *  src/Illuminate/Database/Connectors/Connector.php
     *
     * @param  string  $dsn
     * @param  string  $username
     * @param  string  $password
     * @param  array  $options
     * @return \PDO
     */
    protected function createPdoConnection($dsn, $username, $password, $options)
    {
        if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
            return new PDOConnection($dsn, $username, $password, $options);
        }

        return new PDO($dsn, $username, $password, $options);
    }
2年前 评论

instance 应该只有一个

2年前 评论

框架一般是一个链接,框架的数据库基本都是做成静态实例的。

2年前 评论

光是 new Model 的话,没有数据库连接。执行 save()update()才会真正连接数据库。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!