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

WBOY
发布: 2016-08-08 09:06:37
原创
1165 人浏览过

代码如下:
我使用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>
登录后复制
相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板