}
protected
function
__construct(){
...
}
public
function
setVal(){
...
}
}
$a
= A::getInstance();
$a
->setVal();
这样在调用之前就需要实例化一个类,虽然这个实例化实际上是单例,但感觉还是不舒服
这边的
register 就做到了直接使用静态方法调用
A::setVal();
大致的代码思路我写了个
demo
代码如下
:
class
A{
private
static
$_instance
;
public
static
function
getInstance(){
if
(self::_instance !==null){
return
$this
->_instance;
}
else
{
return
new
A();
}
}
public
function
__construct(){
}
public
static
function
setV(){
$a
= self::getInstance();
$a
->setVal();
}
public
function
setVal(){
...
}