代码如下:
我使用echo是有值的,为啥我使用return就获取不到值呢?
<code>class GoodNight implements IState
{
public function WriteCode(Work $w)
{
if($w->hour<22)
{
return Yii::t('yii','Good night');
}else{
$w->SetState(new GoodAtNight());
$w->WriteCode();
}
}
} </code>代码如下:
我使用echo是有值的,为啥我使用return就获取不到值呢?
<code>class GoodNight implements IState
{
public function WriteCode(Work $w)
{
if($w->hour<22)
{
return Yii::t('yii','Good night');
}else{
$w->SetState(new GoodAtNight());
$w->WriteCode();
}
}
} </code>
谢谢邀请!因为你实例化掉用了本身,本身是return返回而不是输出之类的,所以不会出现值,这很正常!如果你直接echo掉用的就可以看到输出值了。
<code>class GoodNight implements IState
{
public function WriteCode(Work $w)
{
if($w->hour<22)
{
return Yii::t('yii','Good night');
}else{
$w->SetState(new GoodAtNight());
echo $w->WriteCode(); // 在这里echo就有值了
}
}
} </code>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号