单件模式要解决的问题就是“如何让这个类只有一个实例”。
我们的web应用中,大量使用了数据库连接,如果反复建立与数据库的连接必然消耗更多的系统资源。
所以建立唯一的数据库连接是必要的方式。
我们又如何知道与这个数据库的连接是否已经建立? 还是需要现在建立?
单件模式可以解决这个问题。
先假设我们需要一个类完成在内存中只有一份的功能,我们该如何做呢?
我们一步一步的使用前面学过的知识来写一个单件的例子。
问题1:
禁止创建多个实例。
<?php
class
A
{
private function __construct() {
} }
?>
问题2:
如何让用户访问这个类。
用static function 可以让外部访问
<?php
class
A
{
private function __construct() {
} static function getClassA(){ return "This is the enter of the classA"; } } ?>