The code is as follows:
I use Echo is a value, why do I use return to get a value?
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(); } }
Reply content:
The code is as follows:
I use Echo is a value, why do I use return to get a value?
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(); } }
Thank you for inviting me! Because you instantiate the use of itself, itself is return returned instead of output and so on, so there is no value, this is normal! You echo can see the output value if you drop it directly.
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就有值了 } }