单例模式的定义就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个,同时这个类还必须提供一个访问该类的全局访问点。
常见应用场景:
数据库连接;
日志记录(如果有多种用途使用多例模式);
锁定文件;
示例代码:
测试代码:
assertInstanceOf(Singleton::class, $firstCall); $secondCall = Singleton::getInstance(); $this->assertSame($firstCall, $secondCall); } public function testNoConstructor() { $obj = Singleton::getInstance(); $refl = new ReflectionObject($obj); $meth = $refl->getMethod('__construct'); $this->assertTrue($meth->isPrivate()); } }



