在控制器(它是一種稱爲MessageController類),有該代碼,這使得一個「視圖」的文件叫做helloWorld並且還設置其中變量$ theTime連接到所述陣列關鍵'時間'。設置公共類屬性
$theTime = date("D M j G:i:s T Y");
$this->render('helloWorld',array('time'=>$theTime));
在視圖helloWorld的文件,顯示在這裏通過變量$時間
<h3><?php echo $time; ?></h3>
這工作完全來自控制器的關鍵「時間」。但是,這本書也建議嘗試另一種方式。它說
Alter the previous example by defining a public class property on MessageController, rather than a locally scoped variable, whose value is the current date and time. Then display the time in the view file by accessing this class property through $this.
我一直無法弄清楚如何做到這一點。任何人都知道如何
我不認爲你可以有一個表達式評估這樣的變量,但我嘗試了你的建議,並且我得到了這個錯誤 解析錯誤:語法錯誤,意外的'(',期待','或'; 「在/Applications/MAMP/htdocs/demo/protected/controllers/MessageController.php第6行 – Leahcim 2011-05-27 09:42:14
我搞砸與代碼,而現在編輯。沒有在'Yii'代碼爲過長...的時間,我想你最好把'$這 - >時間=日期( 「DMĴG:我:■TY」);''中beforeAction($動作)'方法 – Nemoden 2011-05-27 09:44:30
@Nemoden此(你張貼第一方式)不是Yii的特異性。你不能默認值分配給屬性,如果它不是一個標量。[看更多的特性在PHP 5](http://php.net/manual/en/language.oop5.properties.php)。但現在它是確定,如果'beforeAction()被執行' – Tadeck 2011-05-27 09:59:05