在控制器(这是一个名为MessageController的类)中,有这个代码,它呈现一个名为helloWorld的“视图”文件,并设置一个数组,其中变量$ theTime连接到键'time'。
$theTime = date("D M j G:i:s T Y");
$this->render('helloWorld',array('time'=>$theTime));
在视图helloWorld文件中,来自控制器的关键'时间'通过变量$ time
显示在此处<h3><?php echo $time; ?></h3>
这完美无缺。然而,这本书也建议尝试另一种方式。它说
通过定义来改变前面的例子 一个公共类属性 MessageController,而不是一个 本地范围的变量,其值 是当前的日期和时间。然后 在视图文件中显示时间 通过访问此类属性 $这
我无法弄清楚如何做到这一点。任何人都知道如何
答案 0 :(得分:3)
class MessageController {
public $time;
public function beforeAction($action) {
$this->time = date("D M j G:i:s T Y");
return true;
}
public function someAction() {
$this->render('helloWorld');
在视图中:
echo $this->time;
答案 1 :(得分:0)
// I defined $MyClassTime as a public class variable in "MessageController.php"
//as follows:
class MessageController extends Controller
{
public $MyClassTime;
public function actionHelloWorld()
{
$this->MyClassTime = "From Public Class Property: " . date("D M j G:i:s T Y");
$this->render('helloWorld');
}
public function actionIndex()
{
$this->render('index');
}
// And then did this in "helloWorld.com":
<?php
$this->breadcrumbs=array(
'Message'=>array('message/index'),
'HelloWorld',
);?>
<h1>Hello, World!!</h1>
<h3><?php echo $this->MyClassTime; ?></h3>
答案 2 :(得分:0)
在controllers / MessageController.php文件中
class MessageController extends Controller
{
public $theTime;
public function init()
{
$this->theTime = date("D M j G:i:s T Y");
}
public function actionHelloWorld()
{
$this->render('helloWorld',array('time'=>$this->theTime));
}
}
在views / message / helloWorld.php
中 <h3><?php echo $time; ?></h3><hr/>
答案 3 :(得分:0)
好的,书中的指令专门描述:“通过在MessageController上定义公共类属性来改变前面的例子......然后通过$ this访问这个类属性,在视图文件中显示时间。” / p>
话虽这么说,这就是我想出来的:
在MessageController.php中:
class MessageController extends Controller
{
public $defaultAction = 'hello';
public $theTime; // as per book's instructions
public function actionHello()
{
$this->theTime = date("D M j G:i:s T Y");
$this->render('hello');
}
在protected / views / message / hello.php中:
<h1>Hello, World!</h1>
<h3>
<?php echo $this->theTime; ?>
</h3>
它适用于我,我理解代码中发生了什么。作为一个新手,这很重要:要知道你在做什么并实施它。