php重拾设计模式(一)之单例模式

本文探讨了在PHP程序中使用单例模式来优化数据库连接的方法,通过创建唯一对象减少资源消耗,尤其是在频繁调用数据库操作时。文章提供了单例模式的实现代码示例,并解释了其工作原理。

背景:普通情况下,当你碰到经常使用的类或者方式时,使用一次就实例化一下,如果运行一个php文件的时候,只调用一次这个方法可能看不出啥差别,但是多次调用的时候,还每一次去实例化,是不是就不太好了呢(每一次实例化是需要消耗资源的)。如果针对后面的情况下,可以通过什么模式,创建唯一的对象,这样是不是省去很多不必要的开销呢!

场景:程序应用中,比如连接数据库并进行操作的时候,刚好就是我们说的这个情况,如果每次操作的时候连接数据库,会带来大量的资源消耗。我们可以通过单例模式,创建唯一的数据库连接对象。运行一个php文件的时候不管你调用多少次数据库操作,连接对象也就只有一次!

 

示例

<?php
/*
*
*php设计模式之单例模式
*
**/
namespace Mode;


//单例模式
class Mode{
	//私有的静态属性
	private static $link;
	private function __construct(){

	}//防止创建实例
    private function __clone(){} //防止克隆对象


	//静态公共接口
    private static function getInstance(){
        if(!(self::$link instanceof self)){ 
            self::$link = new self(); 
            var_dump('01');
        }  
        var_dump('02');
        return self::$link;
    }


    //test方法
    public function test(){
    	$obj = self::getInstance();
    	//var_dump(8);
    }



}
//大家如果想进一步了解的话可以到我csdn主页查看我仿做的thinkphp5的Db写法封装的数据库类或者点击链接https://blog.csdn.net/wangtianyou343/article/details/102766181

$res = Mode::test();
$res = Mode::test();
$res = Mode::test();
$res = Mode::test();
$res = Mode::test();
$res = Mode::test();

运行情况:

源码链接: https://pan.quark.cn/s/a4b39357ea24 银行信贷业务作为银行业务的关键构成部分,涵盖了银行向客户提供的各类融资服务,例如贷款、担保以及信用证等。此类业务致力于协助企业与个人解决资金需求问题,进而推动经济活动的开展。银行通过信贷业务获取利息收入,同时需承担相应风险,以保障资金的稳定与流转。 **信贷定义** 信贷意味着银行运用自身资本及信誉为客户提供资金支持,而客户则需以支付利息、费用并偿还本金为前提条件。这种业务模式不仅包含直接贷款,还包括为客户的债务承担提供担保。依照会计准则,信贷业务可分为表内业务与表外业务,前者对银行的资产负债表产生直接影响,后者则不直接关联。 **信贷业务划分标准** 1. **依据会计核算归属**:表内信贷(如贷款、贴现)和表外信贷(如承兑、保证)。 2. **根据期限划分**:短期(不超过1年)、中期(1至5年)与长期(超过5年)。 3. **按照担保方式分类**:信用信贷(无担保)和担保信贷(保证、抵押、质押)。 4. **按照币种区分**:本币信贷与外币信贷。 5. **按照性质和用途区分**:固定资产贷款、流动资金贷款、循环额度贷款、消费贷款等。 6. **按照贷款组织形式区分**:普通贷款、联合贷款和银团贷款。 7. **按照资金来源区分**:信贷资金贷款、委托贷款和境外筹资转贷款。 8. **按照授信对象区分**:公司类信贷与个人类信贷。 **信贷业务产品** 1. **流动资金贷款**:用于企业日常运营周转或临时性资金需求。 2. **固定资产贷款**:用于投资固定资产项目。 3. **房地产开发贷款**:用于土地开发及房屋建设所需资金。 4. **循环额度贷款**:满足企业...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值