首页  >  文章  >  后端开发  >  状态模式,return 无返回值的问题

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

WBOY
WBOY原创
2016-08-08 09:06:371145浏览

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

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

回复内容:

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

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

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

<code>class GoodNight implements IState  
{ 
    public function WriteCode(Work $w)  
    {  
        if($w->hourSetState(new GoodAtNight());  
            echo $w->WriteCode();  // 在这里echo就有值了
        }   
    }  
} </code>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn