程式碼如下:
我使用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>