php单例模式

这个东西虽然早就看过,但经常不用又忘了。哎,很多东西需要不断的实践操作。。。。。。。。。。。。。

 

其实原理就是构造函数这里做判断,不让直接实例化。需要用静态STATIC变量作记录。私有化private

这是我自己随便写的:

  1. class MyClass{
  2. private static _instance;
  3. private myClass(){}
  4. public getInstance(){
  5.   if(_instance == null){
  6.   news myClass();  //实例化自身类,private在自己内中实例化
  7. }
  8. return _instance;
  9. }
  10. }

 

 

网摘一:

 

01class User {

02    static function getInstance()
03    {
04    if (self::$instance == NULL) { // If instance is not created yet, will create it.
05        self::$instance = new User();
06    }
07    return self::$instance;
08    }
09    private function __construct() 
10    // Constructor method as private  so by mistake developer not crate
11    // second object  of the User class with the use of new operator
12    {
13    }
14    private function __clone()
15    // Clone method as private so by mistake developer not crate 
16    //second object  of the User class with the use of clone.
17    {
18    }
19      
20    function Log($str)
21    
22    echo $str;
23    }
24    static private $instance = NULL;
25}
26User::getInstance()->Log("Welcome User");

 

网摘二:

01class User {

02    static function getInstance()
03    {
04    if (self::$instance == NULL) { // If instance is not created yet, will create it.
05        self::$instance = new User();
06    }
07    return self::$instance;
08    }
09    private function __construct() 
10    // Constructor method as private  so by mistake developer not crate
11    // second object  of the User class with the use of new operator
12    {
13    }
14    private function __clone()
15    // Clone method as private so by mistake developer not crate 
16    //second object  of the User class with the use of clone.
17    {
18    }
19      
20    function Log($str)
21    
22    echo $str;
23    }
24    static private $instance = NULL;
25}
26User::getInstance()->Log("Welcome User");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值