美文网首页
php实现每个类的静态方法实例化

php实现每个类的静态方法实例化

作者: 云龙789 | 来源:发表于2020-10-07 12:59 被阅读0次
<?php

/**
 * Model 基类
 * Class BaseModel
 */
class BaseModel
{

    /**
     * @var static
     */
    protected static $instance;

    /**
     * @var int 错误代号
     */
    protected $errCode;


    /**
     *  获取当前类
     * @return static
     */
    public static function getInstance()
    {
        if (isset(self::$instance[get_called_class()]) && self::$instance[get_called_class()] instanceof static) {
            return self::$instance[get_called_class()];
        }
        return self::$instance[get_called_class()] = new static();
    }

    /**
     * 获取报错代号
     * @return int
     */
    public function getErrCode()
    {
        return $this->errCode ? $this->errCode : -100;
    }

    /**
     * 获取错误信息
     * @return string
     */
    public function getErrMessage()
    {
        return $this->errMessage ? $this->errMessage : '没有指定错误信息';
    }


}

每个 model 类继承 BaseModel 即可

class TestModel extends BaseGame
{
    public function test
    {
      echo 'test'; 
    }
}

使用

TestModel::getInstance()->test();
TestModel::getInstance()->test();
TestModel::getInstance()->test();

不管执行多少此,都是只实例化一次

相关文章

  • php实现每个类的静态方法实例化

    每个 model 类继承 BaseModel 即可 使用 不管执行多少此,都是只实例化一次

  • 九月十七

    PHP类和对象之Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进...

  • JS常用的静态方法

    什么是静态方法和实例方法? 静态方法: 静态方法属于整个类所有,因此调用它不用实例化,可以直接调用------类....

  • Spring学习笔记

    Spring实例化bean1、构造方法实例化bean 2、使用静态工厂实例化 类中的静态方法如下: 3、使用动态工...

  • service层和model层应该全部使用静态类吗?

    静态类,即整个类全部使用静态方法。好处自然是不用讲,可以不用实例化。直接使用类名::方法调用。而实例化方法,必须先...

  • php中静态类和非静态类

    静态类:类中含有static定义的静态属性或方法的类 静态类访问方法: 1、静态方法不需要实例化对象,可以通过类名...

  • Java基础知识的小总结(2)

    静态方法 静态方法其实就是类方法,与类有关的,普通的方法在类被实例化后,被对象来调用,静态方法无法调用非静态方法,...

  • 问题

    SAP问题总结 跟踪 oo 类的实例化和静态区别 静态方法 静态方法是可以与类实例无关地调用的方法。您只能在St...

  • c++基础(this)

    属性和方法属于类,在类实例化过程后this是指向类型实例化后的对象。想要调用类静态方法以外的方法需要先对类型实例化...

  • python 实例方法、类方法、静态方法的区别

    实现方式上区别 类,静态方法是装饰器实现 调用上区别 实例方法只能由实例对象调用 定义上区别 类方法实现类逻辑 静...

网友评论

      本文标题:php实现每个类的静态方法实例化

      本文链接:https://www.haomeiwen.com/subject/mhsfpktx.html