欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

状态模式,return 无返回值的问题

程序员文章站 2022-05-24 12:37:07
...
代码如下:
我使用echo是有值的,为啥我使用return就获取不到值呢?
class GoodNight implements IState  
{ 
    public function WriteCode(Work $w)  
    {  
        if($w->hourSetState(new GoodAtNight());  
            $w->WriteCode();  
        }   
    }  
} 

回复内容:

代码如下:
我使用echo是有值的,为啥我使用return就获取不到值呢?

class GoodNight implements IState  
{ 
    public function WriteCode(Work $w)  
    {  
        if($w->hourSetState(new GoodAtNight());  
            $w->WriteCode();  
        }   
    }  
} 

谢谢邀请!因为你实例化掉用了本身,本身是return返回而不是输出之类的,所以不会出现值,这很正常!如果你直接echo掉用的就可以看到输出值了。

class GoodNight implements IState  
{ 
    public function WriteCode(Work $w)  
    {  
        if($w->hourSetState(new GoodAtNight());  
            echo $w->WriteCode();  // 在这里echo就有值了
        }   
    }  
} 
相关标签: php