单例模式的定义保证了某个类只有一个实例,实例不能重复。只能自己实例化,这个实例提供给整个系统。要解决的问题是一个类只被实例化一次,当别人再次实例化它时,返回第一次实例化的对象,这样可以避免大量的new操作,减少资源消耗。原理:四步三私一公私有化静态属性私有化构造方法私有化克隆方法公开静态方法封装定义看起来有点重复劳动,不仅费时费力,而且代码臃肿难懂维持。有没有更优雅的写法?trait来封装单例php从过去到现在一直都是单继承语言。不可能同时从两个基类继承属性和方法。为了解决这个问题,php有一个Trait特性的用法:通过在类中使用use关键字,声明要组合的Trait的名称。具体的Trait声明使用了Trait关键字,Trait不能被实例化。创建Trait的代码示例getInfo();YieWu2::getInstance()->getInfo();
